Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ElasticSEarch的分数优化_Search_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Full Text Search - Fatal编程技术网 elasticsearch,full-text-search,Search,elasticsearch,Full Text Search" /> elasticsearch,full-text-search,Search,elasticsearch,Full Text Search" />

ElasticSEarch的分数优化

ElasticSEarch的分数优化,search,elasticsearch,full-text-search,Search,elasticsearch,Full Text Search,我们有一个储存在ElasticSearch中的产品目录。 每个文档如下所示: { 'family': 'products family' 'category': 'products category' 'name': 'product name' 'description': 'product description' } 我们正在尝试构建一个查询,该查询将获得搜索词的模糊匹配,并按以下字段顺序对结果进行评分: 家族 类别 名字 描述 有没有办法做到这一点?一个简

我们有一个储存在ElasticSearch中的产品目录。 每个文档如下所示:

{
   'family': 'products family'
   'category': 'products category' 
   'name': 'product name'
   'description': 'product description'
}
我们正在尝试构建一个查询,该查询将获得搜索词的模糊匹配,并按以下字段顺序对结果进行评分:

  • 家族
  • 类别
  • 名字
  • 描述

有没有办法做到这一点?

一个简单的方法是使用多匹配查询,为每个字段提供适当的提升

{
    "query": {
        "multi_match": {
           "query": "produce",
           "fields": ["family^4","category^3","name^2","description"],
           "fuzziness" :  "AUTO",
           "rewrite" : "constant_score_auto"
        }
    }
}
在同一字段上匹配的所有文档将获得相同的分数。 可以通过调整参数来更改此行为 进一步说明了这一点