Как в Elasticsearch 2.x отличить аббревиатуру «CAN» от общеупотребительного английского слова «can», все еще используя фильтр «нижний регистр» в моем анализаторе (используется, чтобы поиск не учитывал регистр)?
Пользовательский анализатор, который я использую:
"analyzer": {
"tight": {
"type": "custom",
"tokenizer": "standard",
"stopwords": "_english_",
"filter": ["lowercase", "asciifolding"]
}
}
В индексное время, когда аббревиатура «CAN» в верхнем регистре попадает в мой анализатор, она становится английским словом «can». Затем, когда я ищу «CAN», я получаю все документы, в которых есть английское слово «can». Мне нужны только документы, содержащие слово «CAN» в верхнем регистре. Вероятно, есть и другие аббревиатуры, которые попадают в аналогичную схему.
Каков наилучший способ решить эту проблему?