我如何查看文档中索引的同义词



我在我的索引中添加了同义词令牌过滤器,我认为它可以按计划使用,但是我想要一种方法来确认每个文档存储的确切值(某些查询)不是按照我的期望使用同义词值,我需要验证是否在索引时存储正确的值)。

是否有标准方法可以弄清楚这一点?

示例:

  1. 在某个时候,我配置了一个尼斯和愉快的同义词。
  2. 在某个时候,我索引了一个文档,其中包含一个不错的单词。

givens

  • _termVectors显示我的文档中的文档中的一词很不错。
  • _分析仪的分析显示,表明同义词很好。

问题:

我该如何判断索引文档是否将愉快的文档用作术语/同义词?


update

调整来自User3775217的答案(我必须更新语法以用于Elasticsearch 5.2):

{
  "query":{
    "term": { "{someFieldToFilterOn}": "{SomeFieldValue}"}
  },
  "script_fields":{
    "terms":{
      "script":{
        "lang":"groovy",
        "inline":"doc[field].values",
        "params":{
          "field":"{TheFieldIwantIndexedTermsFrom}"
        }
      }
    }
  }
}

我已经准备了几年的查询,以找到文档的索引值。您可以使用此查询来了解每个文档中字段中索引的值。

您将需要每个文档和要检查的文档字段。

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"
      }
    }
  }
}'

希望这有帮助

最新更新