Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 多字段弹性搜索_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Search_Indexing_Field - Fatal编程技术网 elasticsearch 多字段弹性搜索,elasticsearch,search,indexing,field,elasticsearch,Search,Indexing,Field" /> elasticsearch 多字段弹性搜索,elasticsearch,search,indexing,field,elasticsearch,Search,Indexing,Field" />

elasticsearch 多字段弹性搜索

elasticsearch 多字段弹性搜索,elasticsearch,search,indexing,field,elasticsearch,Search,Indexing,Field,由于我是elastisearch的新手,我想请您对我的搜索要求提供帮助或任何建议。以下是我的elastisearch索引详细信息: _index _type _score subs_name subs_type substation index substation 1 Ad Diraz loop 33 substation index substation 1

由于我是elastisearch的新手,我想请您对我的搜索要求提供帮助或任何建议。以下是我的elastisearch索引详细信息:

_index               _type         _score     subs_name     subs_type
substation index     substation    1          Ad Diraz      loop 33
substation index     substation    1          Al Bareh      city 66 
substation index     substation    1          Budaiya       loop 33
substation index     substation    1          Galali        city 66
现在,我想搜索sub_name和sub_type之间的任何单词:

  • 如果我搜索diraz循环,它会给我一个搜索结果Ad diraz,循环33
  • 如果我搜索loop diraz它会给我一个搜索结果Ad diraz,loop 33
  • 如果我搜索bareh 66它会给我一个搜索结果Al bareh,city 66
  • 如果我搜索Galali它会给我一个搜索结果Galali,66号城市 最后
  • 如果我搜索Budaiya循环,它将给出Budaiya,循环33的搜索结果
  • 我尝试了下面的elastisearch查询,但它只适用于搜索4

    {"from": 0, "size": max_result,
        "query": {
        "multi_match": {
              "fields": ['subs_name', 'subs_type'],
              "query": search_this_query,
               "type": "phrase_prefix"
                       }
                 }
    }
    

    如果您对elasticsearch查询的使用有任何帮助,我们将不胜感激。提前谢谢

    如果您的两个字段的类型为string/text,并且使用相同的分析器,那么您应该使用cross_字段类型进行此查询

    GET /_search
    {
      "query": {
        "multi_match" : {
          "query":      "diraz loop",
          "type":       "cross_fields",
          "fields":     [ "subs_name","subs_type"]
         "operator":   "and"
        }
      }
    }