Можно ли выделить стоп-слова, встречающиеся в фразе, но не выделить стоп-слова, встречающиеся в одиночку?
Например, я хочу выделить «властелин колец», «кольца»или "господин".Но я не хочу, чтобы Elasticsearch выделил «of» или «the», если они встречаются в одиночку.
Я использую анализатор english_stop в настройках индекса.Этот анализатор удаляет все стоп-слова, поэтому он не выделяет стоп-слова в результатах поиска.Но если я удаляю анализатор english_stop, то она всегда выделяет стоп-слова, такие как «of», «the», даже если они встречаются в одиночку.Я не могу добавить другое поле, используя анализатор английского языка, потому что у меня много документов, и переиндексация обходится слишком дорого.
Есть ли способ выделить стоп-слова только при совпадении фразы, без необходимости изменения схемы индекса?
Мой шаблон индекса:
"template": "index_name",
"settings": {
"index": {
"analysis": {
"analyzer": {
"english": {
"tokenizer": "tokenizer_name",
"filter": [
"standard",
"lowercase",
"english_stop",
"kstem"
]
},
Этовыделенный результат для поискового запроса "Властелин колец"
Властелин из Кольца - эпический роман высокой фантазии, написанный английским автором JRR.Толкиен.История началась как продолжение фэнтезийного романа Толкина 1937 года «Хоббит», но в конечном итоге превратилась в гораздо большую работу.Написанный поэтапно между 1937 и 1949 годами, «1019 * Властелин » из «1021 * Кольца » является одним из самых продаваемых романов
.