gpt4 book ai didi

php - 使用ElasticSearch匹配多个文档

转载 作者:行者123 更新时间:2023-12-03 02:08:57 25 4
gpt4 key购买 nike

我对ElasticSearch比较陌生。我将其用作pdf文档的搜索平台。我将PDF分解为文本页面,然后将每一个都输入为带有相应页面ID,父信息等的elasticSearch记录。

我发现困难的是不仅将给定查询匹配到ES中的单个文档,还要使其匹配具有相同父ID的任何文档。因此,如果搜索两个术语,并且该术语存在于实际PDF文档的第1页和第7页(ES中有2个单独的条目),我想匹配此结果。

本质上,我的目标是能够搜索单个PDF的多个页面,在PDF中的任何文档页面上进行匹配,并为搜索结果返回匹配的PDF文档列表,而不是匹配“页面” ”

最佳答案

这有点棘手。首先,您必须自己将查询拆分为多个词。有了术语列表(比如foobarbaz),您可以针对表示PDF的类型(父类型)创建 bool(boolean) 查询,如下所示:

{
"bool" : {
"must" : [{
"has_child" : {
"type": "page",
"query": {
"match": {
"page_body": "foo"
}
}
}
}, {
"has_child" : {
"type": "page",
"query": {
"match": {
"page_body": "bar"
}
}
}
}, {
"has_child" : {
"type": "page",
"query": {
"match": {
"page_body": "baz"
}
}
}
}]
}
}

该查询将为您找到每个术语至少包含一页的所有PDF。

关于php - 使用ElasticSearch匹配多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592529/

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