ElasticSearch搜索、查询与过滤功能详解
1. 重新评分参数
重新评分功能有如下参数:
-window_size:控制在重新评分功能中每个分片要考虑的结果数量,示例中为100。
-query_weight(默认1.0)和rescore_query_weight(默认1.0):用于通过公式final_score = query_score * query_weight + rescore_score * rescore_query_weight计算最终得分。若用户只想保留重新评分的分数,可将query_weight设为0。
2. 搜索结果排序
在实际应用中,常需要控制搜索结果的排序标准,常见场景如下:
- 按用户的姓氏和名字排序。
- 按商品的库存、价格(升序、降序)排序。
- 按文档的大小、文件类型、来源等排序。
2.1 准备工作
需要一个正常运行的ElasticSearch集群,并使用在线代码中的脚本填充索引。
2.2 操作步骤
为了对搜索结果进行排序,需要按以下步骤操作:
1. 在查询中添加sort部分,示例代码如下:
curl -XGET 'http://127.0.0.1:9200/test-index/test-type/_searc