elasticsearch 在elasticsearch中使用通配符搜索全文,elasticsearch,full-text-search,wildcard,elasticsearch,Full Text Search,Wildcard" /> elasticsearch 在elasticsearch中使用通配符搜索全文,elasticsearch,full-text-search,wildcard,elasticsearch,Full Text Search,Wildcard" />

elasticsearch 在elasticsearch中使用通配符搜索全文

elasticsearch 在elasticsearch中使用通配符搜索全文,elasticsearch,full-text-search,wildcard,elasticsearch,Full Text Search,Wildcard,我想在“文本”字段中搜索短语“任何具有AT1的字符串或任何具有pro的字符串”。这是我查询的一部分: "query_string" : { "query" : "text:*AT1* *pro*", "fields" : [ ], "use_dis_max" : true, "tie_breaker" : 0.0, "default_op

我想在“文本”字段中搜索短语“任何具有AT1的字符串或任何具有pro的字符串”。这是我查询的一部分:

"query_string" : {
                "query" : "text:*AT1* *pro*",
                "fields" : [ ],
                "use_dis_max" : true,
                "tie_breaker" : 0.0,
                "default_operator" : "or",
                "auto_generate_phrase_queries" : false,
                "max_determinized_states" : 10000,
                "enable_position_increments" : true,
                "fuzziness" : "AUTO",
                "fuzzy_prefix_length" : 0,
                "fuzzy_max_expansions" : 50,
                "phrase_slop" : 0,
                "escape" : false,
                "split_on_whitespace" : true,
                "boost" : 1.0,
                "allow_leading_wildcard": true, 
                "analyze_wildcard":true
              }


但它不起作用。它显示所有文档。我的问题在哪里?

您的查询应该是:

{
  "query": {
    "query_string": {
      "default_field": "text",
      "query": "at1 AND pro"
    }
  }
}

此外,您还可以阅读关于和的文档,因为存在许多解决问题的方法

您的查询应该是:

{
  "query": {
    "query_string": {
      "default_field": "text",
      "query": "at1 AND pro"
    }
  }
}

而且,您可以阅读关于和的文档,因为存在许多解决问题的方法

您使用哪个库来生成此查询,因为我们必须对此进行通配符查询。您使用哪个库来生成此查询,因为我们必须对此进行通配符查询。但是此查询没有完全响应。我想要任何文本都有at1或pro,例如“asdsfdAT1”或“sadfsfdAT1asdd”和D。我可以分别使用两个查询字符串,“query”:“text:*AT1*”和“query”:“text:*pro*”,但我想要两个,合并这些查询字符串。我测试这个查询“query”:“text:*AT1*pro”但不起作用,然后使用edge\n内存分析器从min\u gram=3开始。使用通配符将更有效…但此查询不会完全响应。我希望任何文本都具有at1或pro,例如“asdsfdAT1”或“sadfsffdat1asdd”和D。我可以分别使用两个查询字符串,“query”:“text:*AT1*”和“query”:“text:*pro*”,但我想要两个,合并这些查询字符串。我测试这个查询“query”:“text:*AT1*pro”但不起作用,然后使用edge\n内存分析器从min\u gram=3开始。使用通配符将更有效。。。