Elasticsearch には、電子メール アドレスと電話番号のあいまい一致のための組み込み機能が用意されています。
特定のドメインで終わる電子メール アドレス (例: @gmail.com) を照合するには:
{
"query": {
"term": {
"email": ".*@gmail.com"
}
}
}
または、特定の文字列を含むメールを照合するには:
{
"query": {
"match": {
"email": {
"query": "sales@*",
"operator": "and"
}
}
}
}
電話番号のあいまい照合には、次のパターンを使用できます:
{
"query": {
"prefix": {
"tel": "136*"
}
}
}
これは、「136」で始まるすべての電話番号と一致します。
あいまい一致のパフォーマンスを向上させるには、n グラムまたはエッジ N グラム トークン フィルター。これらのフィルターはテキストを小さなトークンに分割し、Elasticsearch によるあいまい一致の実行を容易にします。
Email Analyzer Configuration:
{
"settings": {
"analysis": {
"analyzer": {
"email_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"name_ngram_filter",
"trim"
]
}
},
"filter": {
"name_ngram_filter": {
"type": "ngram",
"min_gram": "3",
"max_gram": "20"
}
}
}
}
}
テレフォン アナライザーの構成:
{
"settings": {
"analysis": {
"analyzer": {
"phone_analyzer": {
"type": "custom",
"char_filter": [
"digit_only"
],
"tokenizer": "digit_edge_ngram_tokenizer",
"filter": [
"trim"
]
}
},
"char_filter": {
"digit_only": {
"type": "pattern_replace",
"pattern": "\\D ",
"replacement": ""
}
},
"tokenizer": {
"digit_edge_ngram_tokenizer": {
"type": "edgeNGram",
"min_gram": "3",
"max_gram": "15",
"token_chars": [
"digit"
]
}
}
}
}
}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3