gpt4 book ai didi

elasticsearch - 保留 ElasticSearch 查询中的术语顺序

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

在 ElasticSearch 中是否可以形成一个保留术语顺序的查询?

一个简单的例子是使用标准分析器对这些文档进行索引:

  1. 你知道搜索
  2. 你懂搜索
  3. 知道搜索你

我可以查询 +you +search,这会返回所有文档,包括第三个文档。

如果我只想检索具有此特定顺序的条款的文档怎么办?我可以形成一个查询来为我做这件事吗?

考虑到短语可以通过简单地引用文本:"you know"(检索第 1 和 2 文档)我觉得应该有一种方法来保留多个术语的顺序不相邻。

在上面的简单示例中,我可以使用邻近搜索,但这并未涵盖更复杂的情况。

最佳答案

您可以使用 span_near 查询,它有一个 in_order 参数。

{
"query": {
"span_near": {
"clauses": [
{
"span_term": {
"field": "you"
}
},
{
"span_term": {
"field": "search"
}
}
],
"slop": 2,
"in_order": true
}
}
}

关于elasticsearch - 保留 ElasticSearch 查询中的术语顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634595/

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