Я использую эластичный поиск 6,8 для поиска текста. И я понял, что токенизаторasticsearch разбивает текст на слова, используя перечисленные здесь разделители: http://unicode.org/reports/tr29/#Default_Word_Boundaries. Я использую match_phase
для поиска в одном из полей в моем документе, и я хотел бы удалить один разделитель, используемый токенизатором.
Я провел поиск и нашел некоторые решения, например, используя keyword
вместо text
. Это решение будет иметь большое влияние на мою функцию поиска, потому что оно не поддерживает частичный запрос.
Другое решение - использовать запрос keyword
, но использовать подстановочный знак для поддержки частичного запроса. Но это может повлиять на производительность запроса. Кроме того, мне все еще нравится использовать токенизатор для других разделителей.
Третий вариант - использовать tokenize_on_chars
для определения всех символов, используемых для токенизации текста. Но это требует от меня перечисления всех других разделителей. Поэтому я ищу что-то вроде tokenize_except_chars
.
Так есть ли для меня простой способ извлечь один символ из разделителей, которые использует токенизатор вasticsearch6.8?