gpt4 book ai didi

elasticsearch - ElasticSearch在 `FromX`和 `ToY`字段中搜索指定值

转载 作者:行者123 更新时间:2023-12-03 01:32:54 24 4
gpt4 key购买 nike

我想按两个FromXToY字段的值构成的范围内的指定值进行查询,并通过Title查询将text作为query_string字段进行搜索。

这个例子显示了我的目标:

Id | FromX | ToY | Title
-----------------------------
1 | 1 | 7 | Mohammad
2 | 2 | 3 | Ali
3 | 1 | 6 | MohammadAli
4 | 2 | 5 | MohammadReza
5 | 1 | 2 | AliReza
6 | 2 | 2 | Sayed Ali

示例查询:
value: 2 AND title: *Ali*

查询结果:
Id | FromX | ToY | Title
-----------------------------
2 | 2 | 3 | Ali
3 | 1 | 6 | MohammadAli
5 | 1 | 2 | AliReza
6 | 2 | 2 | Sayed Ali

更新1:
  • 在样本数据和结果中添加带有Id=6的最后一条记录。
  • 最佳答案

    以下查询应该给您您期望的内容:

    {
    "query": {
    "bool": {
    "filter": [
    {
    "range": {
    "FromX": {
    "lte": 2
    }
    }
    },
    {
    "range": {
    "ToY": {
    "gte": 2
    }
    }
    },
    {
    "query_string": {
    "query": "*ali*"
    }
    }
    ]
    }
    }
    }

    但是,不应不惜一切代价避免使用前缀通配符,因为它们会影响查询的性能。您可能应该使用ngrams分析标题字段,然后对 Title字段进行常规匹配查询。

    关于elasticsearch - ElasticSearch在 `FromX`和 `ToY`字段中搜索指定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54665923/

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