Я пытался назначить вице-президента, вице-президента, генерального директора и так далее. Так что, когда мое ключевое слово для поиска - VP, я мог видеть результаты и у вице-президента. Searchkick gem - это то, что я использовал для достижения этой цели.
У меня есть личная модель, подобная представленной ниже
class Person < ApplicationRecord
searchkick merge_mappings: true,
word_start: [:name],
text_middle: [:title],
synonyms:[['vp', 'vice president'],
['it', 'information technology'],
['ceo', 'chief executive officer'],
['cto', 'chief technology officer']]
end
После повторной индексации всех моих данных и при проверке метаданных индекса это что я вижу
"analysis": {
"filter": {
"searchkick_synonym": {
"type": "synonym",
"synonyms": [
"vp,vicepresident",
"it,informationtechnology",
"ceo,chiefexecutive officer",
"cto,chieftechnology officer"
]
}
}
}
Почему это отображается как вице-президент без пробела? Это причина, почему синонимы не работают в моем поисковом запросе? Есть ли проблема в созданном мною классе модели?
Примечание: версия ElasticSearch: 7.6.0, самоцвет SearchKick: 4.3.0