Синонимы Searchkick не отображаются должным образом

Я пытался сопоставить вице-президента с вице-президентом, генерального директора с генеральным директором и так далее. Чтобы, когда мое ключевое слово для поиска было VP, я мог видеть результаты и с вице-президентом. Драгоценный камень Searchkick — это то, что я использовал для достижения этой цели.

У меня есть модель человека, как показано ниже

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"
      ]
    }
  }
}

Почему это отображено как вице-президент без пробела? Это причина того, что синонимы не работают в моем поисковом запросе? Есть ли проблема в созданном мной классе модели?

NB: версия ElasticSearch: 7.6.0, SearchKick Gem: 4.3.0

введите здесь описание изображения


person Amal Kumar S    schedule 26.03.2020    source источник
comment
это помогает? opensourceconnections.com/blog/2016/12 /02/   -  person Alessandro Candeloro    schedule 14.04.2020


Ответы (1)


Параметр synonyms не поддерживает синонимы из нескольких слов. В Searchkick 4.4.0+ вы можете использовать опцию search_synonyms для синонимов, состоящих из нескольких слов.

person Andrew Kane    schedule 02.09.2020