输入 A B C D
内容都是用空格分隔的,分词器选的是whitespace
得到结果:
1、G B C D A E F (包含4个输入词)
2、M N L P T A C D (包含3个输入词)
3、M C D (包含2个输入词)
4、D (包含1个输入词)
期望的排序是 1 → 2 → 3 → 4 (实际不是)
请问如何写查询?
内容都是用空格分隔的,分词器选的是whitespace
得到结果:
1、G B C D A E F (包含4个输入词)
2、M N L P T A C D (包含3个输入词)
3、M C D (包含2个输入词)
4、D (包含1个输入词)
期望的排序是 1 → 2 → 3 → 4 (实际不是)
请问如何写查询?
2 个回复
FFFrp
赞同来自:
murphy
赞同来自:
排序不一致,有可能是score计算不够准确。
解决方法:
1. "number_of_shards": "1"
2. 如果shard数量大于1,需要使用search_type来提高score准确性。
/whitespace_example/_search?search_type=dfs_query_then_fetch
环境准备:Elasticsearch版本为:6.8.10
查询:
结果: