Вы можете использовать char_filter , который может заменить определенный символ на какой-то другой, elasticsearch уже прерывается на ,
&
, а для других (которые не являются разделителями) вы можете определить их в char_filter.
Вы также можете использовать API Analyze, как показано ниже, чтобы увидеть, правильно ли char_filter заменяет ваш разделитель.
Поскольку <br>
- это код HTML, стандартный анализатор будет создать для него токен, вы можете использовать html_strip
char_filter, как показано ниже:
{
"tokenizer" : "standard",
"filter" : ["lowercase"],
"char_filter" : ["html_strip"],
"text" : "dog<br>cat"
}
{
"tokens": [
{
"token": "dog",
"start_offset": 0,
"end_offset": 3,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "cat",
"start_offset": 7,
"end_offset": 10,
"type": "<ALPHANUM>",
"position": 1
}
]
}