栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

限制Elastic Search中应子句的结果数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

限制Elastic Search中应子句的结果数

当您尝试实现3个查询的并集时,ElasticSearch会寻找与您的查询匹配的“最相关”文档。

最简单(也是最快)的方法是使用多重搜索运行三个查询:

curl -XGET 'http://127.0.0.1:9200/my_index/_msearch?pretty=1'  -d '{}{"query" : {"text" : {"title" : "some words"}}, "size" : 5}{}{"query" : {"text" : {"title" : "some other words"}}, "size" : 5}{}{"query" : {"text" : {"title" : "other words"}}, "size" : 5}'

根据您的要求,一种替代方法是使用限制过滤器,但请注意,它会限制每个SHARD(而不是每个索引)的结果数量。默认情况下,索引有5个主要分片,因此,如果将限制指定为5,则很可能会获得25个结果。

所以也许是这样的:

curl -XGET 'http://127.0.0.1:9200/_all/_search?pretty=1'  -d '{   "query" : {      "bool" : {         "should" : [ {    "filtered" : {       "filter" : {          "limit" : {  "value" : 1          }       },       "query" : {          "text" : {  "title" : "some words"          }       }    } }, {    "filtered" : {       "filter" : {          "limit" : {  "value" : 1          }       },       "query" : {          "text" : {  "title" : "other words"          }       }    } }, {    "filtered" : {       "filter" : {          "limit" : {  "value" : 1          }       },       "query" : {          "text" : {  "title" : "some other words"          }       }    } }         ]      }   }}'

这将为您提供每个分片上每个短语的得分最高的文档(有5个分片,最多15个文档,(由于您未指定

size=15
)将减少到前10个文档)。

您的里程可能会有所不同,具体取决于您的文档在各个分片中的分布方式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号