私は電話番号を開始するとFULL_NAME、電子メールまたは電話でたとえば任意の列で単語の一部を検索
iの入力「16」を開始した場合、それが表示されるはずのすべてのユーザーを検索しようとしていますまたは "+16"を含む。
{
"users" : {
"mappings" : {
"user" : {
"properties" : {
"full_name" : {
"analyzer" : "trigrams",
"include_in_all" : true,
"type" : "string"
},
"phone" : {
"type" : "string",
"analyzer" : "trigrams",
"include_in_all" : true
},
"email" : {
"analyzer" : "trigrams",
"include_in_all" : true,
"type" : "string"
}
},
"dynamic" : "false"
}
},
"settings" : {
"index" : {
"creation_date" : "1472720529392",
"number_of_shards" : "5",
"version" : {
"created" : "2030599"
},
"uuid" : "p9nOhiJ3TLafe6WzwXC5Tg",
"analysis" : {
"analyzer" : {
"trigrams" : {
"filter" : [
"lowercase"
],
"type" : "custom",
"tokenizer" : "my_ngram_tokenizer"
}
},
"tokenizer" : {
"my_ngram_tokenizer" : {
"type" : "nGram",
"max_gram" : "12",
"min_gram" : "2"
}
}
},
"number_of_replicas" : "1"
}
},
"aliases" : {},
"warmers" : {}
}
}
は、名前の検索 "ロバート名
カール-XGET「ローカルホストの一部によって:?9200 /ユーザー/ _searchかなり同じマイESの設定がある
フルネームと電子メールで'-D' { "クエリ":{ "一致":{ "_all": "奪う" }}} 」
は、完全な名前のみを使用して、期待される結果を与えません。あなたのアナライザはフィールドfull_name
、phone
とemail
に設定されているので
ます。http: //stackoverflow.com/questions/36199531/how-to-fuzzy-match-email-or-telephone-by-elasticsearch/36200119#36200119 – Val
@Valはすべてのフィールドでは機能しません – NeverBe