Всякий раз, когда вам требуется точный поиск, вы можете определить тип данных этого поля как keyword
. Если вам требуется как частичный поиск (анализ), так и точный поиск по одному и тому же полю, вы можете определить подполе для того же поля и обратиться к этому подполю, когда требуется точный поиск.
Итак, определение поля выглядит так:
"email": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
Затем вы можете использовать термин запроса для точного поиска.
{
"query": {
"term": {
"email.keyword": "test@email.com"
}
}
}
ПРИМЕЧАНИЕ: Определение типа как keyword
приводит к точному поиску с учетом регистра.