繁体   English   中英

ElasticSearch。 优先级不起作用

[英]ElasticSearch. Priority does not work

当我使用cross_fields搜索时,我的查询结果有误

{'from': 0, 
 'sort': ['_score'],
 'size': 400,
 'query': {
       'bool': 
           {'must': 
               {'multi_match': 
                   {'type': 'cross_fields', 
                    'fields': ['nickname^1', 'pedigree_name^0.4', 'breed^0.2', 'city^0.1', 'country^0.05'],
                    'operator': 'and',
                    'query': 'Akita'}
               }
           }
   }
}

我得到这个结果 在此处输入图片说明

但为什么? 家谱名称优先级高于品种优先级

我相信原因是您的查询类型为“ cross_fields”。 它“将查询字符串分析为单个术语,然后在任何字段中查找每个术语,就好像它们是一个大字段一样。” 进一步的ROM 在这里

请注意,cross_fields通常仅适用于所有均具有1提升值的短字符串字段。否则,提升值,术语频率和长度归一化会以一种使得术语统计信息不再有意义的方式来贡献分数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM