尝试访问我的ElasticSearch文档中的分析/标记化文本。
我知道您可以使用Analyze API根据您的分析模块分析任意文本。因此,我可以将文档中的数据复制并粘贴到Analyze API中,以查看它是如何标记化的。
但是,这似乎不必要地耗费时间。有没有办法指示ElasticSearch在搜索结果中返回标记化文本?我查看了文档但没有找到任何内容。答案 0 :(得分:16)
这个问题很老了,但也许我认为还需要一个额外的答案。
使用ElasticSearch 1.0.0添加了Term Vector API,这使您可以在每个文档的基础上直接访问令牌ElasticSearch存储。 API文档在此方面不是很清楚(仅在示例中提到),但为了使用API,您必须先在mapping definition中指明要使用term_vector
存储术语向量每个领域的财产。
答案 1 :(得分:15)
看看其他答案:elasticsearch - Return the tokens of a field。不幸的是,它需要使用提供的脚本动态重新分析您的字段内容 应该可以编写一个插件来公开这个功能。我们的想法是将两个端点添加到:
答案 2 :(得分:6)
您可能希望使用脚本,但是您的服务器应该启用脚本。
curl 'http://localhost:9200/your_index/your_type/_search?pretty=true' -d '{
"query" : {
"match_all" : { }
},
"script_fields": {
"terms" : {
"script": "doc[field].values",
"params": {
"field": "field_x.field_y"
}
}
}
}'
允许脚本的默认设置取决于弹性搜索版本,因此请从官方文档中查看。