标签: search elasticsearch full-text-search
我们有一个存储在ElasticSearch中的产品目录。 每个文档都是这样的:
{ 'family': 'products family' 'category': 'products category' 'name': 'product name' 'description': 'product description' }
我们正在尝试构建一个查询,以获得搜索字词的模糊匹配,并按以下字段顺序对结果进行评分:
有办法吗?
答案 0 :(得分:1)
一种简单的方法是使用多匹配查询为每个字段提供适当的提升。
{ "query": { "multi_match": { "query": "produce", "fields": ["family^4","category^3","name^2","description"], "fuzziness" : "AUTO", "rewrite" : "constant_score_auto" } } }
在同一领域匹配的所有文档都会获得相同的分数。 您可以通过调整rewrite参数来更改此行为 Article进一步了解了这一点。