我试图将副总裁映射到副总裁,将首席执行官映射到首席执行官等等。因此,当我的搜索关键字是 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 Gem:4.3.0