gpt4 book ai didi

使用 Elasticsearch 在单个文档中搜索

转载 作者:行者123 更新时间:2023-11-29 02:54:25 26 4
gpt4 key购买 nike

如果我想搜索一个索引,我可以使用:

$curl -XGET 'X/index1/_search?q=title:ES'

如果我想搜索我可以使用的文档类型:

$curl -XGET 'X/index1/docType1/_search?q=title:ES'

但是如果我想搜索一个特定的文档,这是行不通的:

$curl -XGET 'X/index1/docType1/documentID/_search?q=title:ES'

是否有解决此问题的简单方法,以便我可以在单个文档而不是整个索引或整个文档类型中进行搜索?为了解释我为什么需要这个,我必须进行一些资源密集型查询才能找到我要找的东西。找到我需要的文档后,我实际上不需要整个文档,只需要与查询匹配的突出显示部分。但我不想将所有突出显示的命中都存储在内存中,因为我可能几个小时内不需要它们,有时它们会占用大量空间(我也不希望将它们写入磁盘)。我宁愿存储一个文档 ID 列表,这样当我需要文档的突出显示部分时,我可以只对特定文档运行突出显示的查询并取回突出显示的部分。在此先感谢您的帮助!

最佳答案

您可以将文档的 ID 作为字段编制索引,然后在查询时将唯一的文档 ID 作为术语包含在内,以将结果范围缩小到该单个文档。

'$curl -XPOST 'X/index1/docType1/_search' -d '{
"query": {
"bool": {
"must":[
{"match":{"doc":"223"}},
{"match":{"title":"highlight me please"}}
]
}
}
}'

关于使用 Elasticsearch 在单个文档中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27791088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com