Elasticsearch предлагает встроенные возможности нечеткого сопоставления адресов электронной почты и номеров телефонов.
Чтобы сопоставить адреса электронной почты, оканчивающиеся на определенный домен (например, @gmail.com):
{
"query": {
"term": {
"email": ".*@gmail.com"
}
}
}
Или, чтобы сопоставить электронные письма, содержащие определенную строку:
{
"query": {
"match": {
"email": {
"query": "sales@*",
"operator": "and"
}
}
}
}
Для нечеткого сопоставления телефонных номеров можно использовать следующий шаблон:
{
"query": {
"prefix": {
"tel": "136*"
}
}
}
Это будет соответствовать всем телефонным номерам, начинающимся с «136».
Чтобы повысить производительность нечеткого сопоставления, рассмотрите возможность использования пользовательских анализаторов, использующих n-граммы или фильтры токенов Edge n-gram. Эти фильтры разбивают текст на более мелкие токены, упрощая Elasticsearch выполнение нечеткого сопоставления.
Конфигурация анализатора электронной почты:
{
"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