В ElasticSearch удаленные стоп-слова продолжают оказывать небольшое влияние на подсчет очков


Запрос На Базовое Соответствие: Билли Сью

Тестовый запрос соответствия #1: Билли Сью и

Тестовый запрос соответствия #2: Билли и Сью

Мы получаем одинаковые оценки между базой и #1, но база и #2 имеют одинаковые, но разные оценки.

Используя API analyze, стоп-слово and удаляется в обоих тестовых запросах, но свойства маркеров start_offset и end_offset отличаются для Sue между базовым запросом и тестовым запросом #2.

По существу, предварительное удаление стоп-слов расстояние между оставшимися жетонами записывается и оказывает небольшое, но конечное влияние на подсчет очков.

Вопрос

Есть ли способ отложить вычисление свойств start_offset и end_offset токенов до тех пор, пока стоп-слова не будут удалены, или иным образом предотвратить влияние удаленных стоп-слов на подсчет очков?

1 2

1 ответ:

Возможно, отключить приращения позиции на фильтре стоп-слов и посмотреть, поможет ли это? Особенно если ваше отображение имеет какой-то фильтр после фильтра стоп-слов, вы получите странные артефакты от приращений позиции

Например, что-то вроде этого:

"analyzer": {
   "analyzer_example":{
      "tokenizer":"standard",
      "filter":["standard", "lowercase", "filter_stop"]
    }
},
"filter": { 
   "filter_stop":{
      "type":"stop",
      "enable_position_increments":"false"
    }
}