2017-02-23 50 views
0
$results=$client->search([ 
       'index' => 'my_index', 
       'type' => 'my_type', 
       'body' => [ 
        'query' => [ 
         "multi_match" => [ 
          "fields" =["column1","column2","column3"], 
          "query" => "Test", 
          "type" => "phrase_prefix" 

         ] 
        ] 
       ] 
      ]); 

我正在使用elasticsearch和laravel.How如何使上面的代碼不區分大小寫。ElasticSearch - 在not_analyzed上不區分大小寫的搜索

+0

查找到multifields https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html –

回答

0

將以下設置添加到您的索引。這將採取不區分大小寫。

PUT - /index_name/_settings 

{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "custom_ta_analyzer": { 
      "tokenizer": "keyword", 
      "filter": [ "lowercase" ] 
     } 
     } 
    } 
    } 
} 
+0

謝謝你這麼多的reply..when我運行使用感的工具,然後它給錯誤 { 「錯誤」:{ 「ROOT_CAUSE」:[{ 「類型」: 「action_request_validation_exception」, 「原因」: 「驗證失敗:1:不設置來更新;」 } ], 「type」:「action_request_validation_exception」, 「reason」:「驗證失敗:1:沒有要更新的設置;」 }, 「status」:400 } – Nirdesh