Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了 (3)

synonyms 是指同义词,只要索引和字段中配置了同义词过滤器,match 查询是支持多词条的同义词扩展的。在应用过滤器后,解析器会对每个多次条同义词创建一个语句查询。

例如,同义词 USA, united states of America 就会构建出 (USA OR ("united states of America"))。看下面例子:

PUT /matchtest4 { "settings": { "index" : { "analysis" : { "analyzer" : { "synonym" : { "tokenizer" : "whitespace", "filter" : ["synonym"] } }, "filter" : { "synonym" : { "type" : "synonym", "synonyms" : [ "USA, united states of America" ] } } } } } } PUT /matchtest4/_mapping/synonyms_test { "properties": { "message": { "type": "text", "analyzer": "synonym" } } } PUT /matchtest4/synonyms_test/1 { "message": "united states of America people" } GET /matchtest4/_search { "query": { "match": { "message": { "query": "USA" } } } } 小结

本文以代码实例的方式完整的讲解了 Match Query 的各种使用场景和参数意义。下篇会讲解 Match Phrase Query 敬请期待。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwwfy.html