【问题标题】:Elasticsearch: How to use operator - and/or for phrase queries?Elasticsearch:如何使用运算符 - 和/或短语查询?
【发布时间】:2020-06-17 12:32:31
【问题描述】:

假设我有以下用户输入的查询字符串 - “深蓝色鞋子和水洗”

基本上我想在product_description OR product_title 字段中同时搜索“深蓝色鞋子”和“水洗”。

“深蓝色鞋子或可水洗”也是如此,所以不要使用“and”运算符,而是使用“or”运算符。

是否可以使用“和/或”运算符向 Elasticsearch 提供多个短语

如果这很重要,我正在使用 v7.1。

【问题讨论】:

    标签: elasticsearch elasticsearch-query match-phrase


    【解决方案1】:

    您可以使用Query_string 并在文本本身中传递运算符

    数据:

    {
            "_index" : "index72",
            "_type" : "_doc",
            "_id" : "p7_JqHABcSMy6UhGDmtS",
            "_score" : 1.0,
            "_source" : {
              "product_description" : "dark blue shoes water washable"
            }
    },
    {
            "_index" : "index72",
            "_type" : "_doc",
            "_id" : "qL_JqHABcSMy6UhGbWsn",
            "_score" : 1.0,
            "_source" : {
              "product_description" : "dark blue"
            }
    }
    

    查询:

    {
        "query": {
            "query_string" : {
                "fields" : ["product_description", "product_title"],
                "query" : "dark blue shoes AND water washable"
            }
        }
    }
    

    结果:

    {
            "_index" : "index72",
            "_type" : "_doc",
            "_id" : "p7_JqHABcSMy6UhGDmtS",
            "_score" : 2.0794973,
            "_source" : {
              "product_description" : "dark blue shoes water washable"
            }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2014-10-22
      • 1970-01-01
      • 2019-05-13
      相关资源
      最近更新 更多