给定一个使用 searchkick 索引到 elasticsearch 中的 Widget 模型:
searchkick word: [:title], highlight: [:title], term_vector: true
我已经索引了这些文件:
{ title: "work with puppies" }
{ title: "work with sharks" }
{ title: "work with kittens" }
{ title: "shoot lasers at the moon" }
我正在尝试对一段新文本进行“更像这样”(MLT)查询:
"work with lasers"
我的目标是让它打到最后一个得分最高的文档,因为“lasers”比“work with”更专业,这在我的文档语料库中很常见。
我试过这个:
Widget.search query: {
mlt: {
like_text: "work with lasers",
min_term_freq: 1,
boost_terms: 5,
analyzer: 'searchkick_search2'
} }
但它让我回到了得分最高的“与...一起工作”文档。
我也试过输入一个 key/val { stopwords: ['work', 'with'] } 但我得到 0 个结果。
有没有办法让 searchkick/elasticsearch 给我返回具有最高分数的专业术语的文档,并淡化只匹配常见术语的文档?