我已经在索引中添加了同义词标记过滤器,并且我认为它可以按计划工作,但是我想要一种方法来确认为每个文档存储的确切值(某些查询未按我期望的那样使用同义词值,并且我需要验证索引时是否存储了正确的值)。
是否有解决此问题的标准方法?
示例:
Givens
问题:
如何判断索引文档是否使用PLEASANT作为术语/同义词?
更新
修改来自user3775217的答案(我必须更新语法才能在ElasticSearch 5.2中使用):
{
"query":{
"term": { "{someFieldToFilterOn}": "{SomeFieldValue}"}
},
"script_fields":{
"terms":{
"script":{
"lang":"groovy",
"inline":"doc[field].values",
"params":{
"field":"{TheFieldIwantIndexedTermsFrom}"
}
}
}
}
}
最佳答案
几年前,我已经准备好此查询以查找文档的索引值。您可以使用此查询来了解每个文档在字段中索引的值。
您将需要每个文档的doc_id和要检查的文档字段。
curl 'http://localhost:9200/test-idx/_search?pretty=true' -d '{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"_id": "1770"
}
}
]
}
}
}
},
"script_fields": {
"terms": {
"script": "doc[field].values",
"params": {
"field": "input"
}
}
}
}'
希望这可以帮助
关于elasticsearch - 如何查看文档中索引的同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42637309/