gpt4 book ai didi

elasticsearch - Elasticsearch:使用单词组合和AND进行过滤

转载 作者:行者123 更新时间:2023-12-02 22:53:40 24 4
gpt4 key购买 nike

如何选择以下文档:

  • 必须包含单词“ice cream”的组合(标题或内容中)
  • AND必须包含单词“chocolate”(在标题或内容中)

  • “冰淇淋”和巧克力(在标题或内容字段中)
    如果出现“ice”和“cream”字样,但不显示为“ice cream”,则不应返回该文档。
    来自MySQL及其括号,我没有找到这种直观的方法。
    "must": [
    {
    "multi_match": {
    "query": "'ice cream' chocolate",
    "fields": [
    "title",
    "content"
    ]
    },
    }
    ],

    文件1:
  • 标题:冰淇淋
  • 内容:配巧克力。

  • 文件2:
  • 标题:奶昔。
  • 内容:用奶油,冰和巧克力制成。

  • 文件3:
  • 标题:蛋糕
  • 内容: super 好吃。
  • 注意:尝试搭配巧克力和冰淇淋。

  • 它应该找到文档1,而不是文档2或3。

    最佳答案

    您可以使用multi match with phrase type查询
    搜索查询:

        {
    "query": {
    "bool": {
    "must": [
    {
    "multi_match": {
    "query": "ice cream",
    "fields": [
    "Title",
    "Content"
    ],
    "type": "phrase"
    }
    },
    {
    "multi_match": {
    "query": "chocolate",
    "fields": [
    "Title",
    "Content"
    ]
    }
    }
    ]
    }
    }
    }
    搜索结果:
    "hits": [
    {
    "_index": "my_index",
    "_type": "_doc",
    "_id": "1",
    "_score": 2.2868733,
    "_source": {
    "Title": "Ice cream",
    "Content": "Great with chocolate."
    }
    }
    ]

    关于elasticsearch - Elasticsearch:使用单词组合和AND进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62865493/

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