2017-10-30 16 views
0

を空白を無視する方法、私は「アドレス」と呼ばれるフィールドを持ってそのフィールド内のデータは、各単語間で弾性検索でElasticsearchで

"322 Wall  Tax Road" 

としてインデックス化され、複数のスペースが追加されました。したがって、 "322 Wall Tax Road"を検索してもデータは返されません。

再インデックスなしで追加の空白を無視する方法はありますか。 ありがとうございます。

これは単に単一のスペースと二重の空白を交換する方法についての私の現在のマッピング

"mappings": { 
"esiid": { 
"properties": { 
"address": { 
    "type": "string", 
    "index": "not_analyzed" 
}, 
"city": { 
    "type": "string" 
}, 

"zip": { 
    "type": "string" 
} 
} 
} 
+0

正規表現は考えていますか?文字列を単語で分割し、各単語間の複数の空白に正規表現を使用します:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html – davidvelilla

答えて

0

のですか?

$workedString = str_replace(" "," ",$yourString);