小编mep*_*son的帖子

用Searchkick on Rails做一个专门的术语"更喜欢这个查询"?

给定一个使用searchkick索引到elasticsearch的Widget模型:

searchkick word: [:title], highlight: [:title], term_vector: true
Run Code Online (Sandbox Code Playgroud)

我已将这些文件编入索引:

{ title: "work with puppies" }
{ title: "work with sharks" }
{ title: "work with kittens" }
{ title: "shoot lasers at the moon" }
Run Code Online (Sandbox Code Playgroud)

我正在尝试为新的文本做一个"更像这样"(MLT)查询:

"work with lasers"
Run Code Online (Sandbox Code Playgroud)

我的目标是让它击中最后得分最高的文档因为"激光"比"使用"更专业,这在我的文档语料库中很常见.

我试过这个:

Widget.search query: { 
  mlt: {
    like_text: "work with lasers",
    min_term_freq: 1,
    boost_terms: 5,
    analyzer: 'searchkick_search2'
  } }
Run Code Online (Sandbox Code Playgroud)

但它让我回到顶部的"工作......"文档,得分最高.

我也尝试过输入一个键/ val {stopwords:['work','with']}然后我得到0结果.

有没有办法让searchkick/elasticsearch给我回复文档,这些文档具有最高分的专业术语和仅与常见术语匹配的淡化文档?

ruby-on-rails elasticsearch searchkick

1
推荐指数
1
解决办法
501
查看次数

标签 统计

elasticsearch ×1

ruby-on-rails ×1

searchkick ×1