我正在尝试使用其自己的过滤器和char_filter编写自定义分析器。如果我能弄清楚如何查看analyzer / filter / char_filter组合发出的 token ,这将对我有所帮助。

是否可以使用API​​查询来使用自定义分析器,过滤器和char_filter检查从给定字符串发出的 token ?

最佳答案

您可以使用此查询来检查已保存在Elastic中的给定文档的任何字段发出的 token

curl 'http://localhost:9200/test-idx/_search?pretty=true' -d '{
  "query": {
    "match_all": {},
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "_id": "1770"
              }
            }
          ]
        }
      }
    }
  },
  "script_fields": {
    "terms": {
      "script": "doc[field].values",
      "params": {
        "field": "input"
      }
    }
  }
}

另外,您还可以使用它来查找任何自定义分析器为字符串发出的 token 。
GET autosuggest_index_alllocations1/_analyze?analyzer=index_analyzerV2&text=healthy tiffins

08-28 12:57