Rumah > Artikel > pangkalan data > Bagaimana untuk Melakukan Padanan Fuzzy Alamat E-mel dan Nombor Telefon Menggunakan Elasticsearch?
Elasticsearch menawarkan keupayaan terbina dalam untuk pemadanan kabur alamat e-mel dan nombor telefon.
Untuk memadankan alamat e-mel yang berakhir dengan domain tertentu (cth., @gmail.com):
<code class="json">{ "query": { "term": { "email": ".*@gmail.com" } } }</code>
Atau, untuk memadankan e-mel yang mengandungi rentetan tertentu:
<code class="json">{ "query": { "match": { "email": { "query": "sales@*", "operator": "and" } } } }</code>
Untuk padanan kabur nombor telefon, anda boleh menggunakan corak berikut:
<code class="json">{ "query": { "prefix": { "tel": "136*" } } }</code>
Ini akan sepadan dengan semua nombor telefon bermula dengan "136".
Untuk meningkatkan prestasi bagi padanan kabur, pertimbangkan untuk menggunakan penganalisis tersuai yang memanfaatkan penapis token n-gram atau tepi n-gram. Penapis ini memecahkan teks kepada token yang lebih kecil, menjadikannya lebih mudah untuk Elasticsearch melakukan pemadanan kabur.
Konfigurasi Penganalisis E-mel:
<code class="json">{ "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" } } } } }</code>
Penganalisis Telefon Konfigurasi:
<code class="json">{ "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" ] } } } } }</code>
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Padanan Fuzzy Alamat E-mel dan Nombor Telefon Menggunakan Elasticsearch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!