我正在使用Tire / ElasticSearch来索引我的rails应用程序中的模型。
我正在尝试在索引"文章" /字段内容
上设置一个非常简单的more_like_this查询,如下所示s = Tire.search 'articles' do
query do
mlt_field do
content { string 'electricity' }
end
end
end
当我运行此操作时,我收到此错误
undefined method `mlt_field' for #<Tire::Search::Query:0x000001013657e8 @value={}>
有没有人知道如何设置它?我已经查看了非常好的轮胎文档但我无法看到任何帮助。我发现了一个类似的查询fuzzy_like_this和Github问题说在README中搜索模糊,但我找不到任何对此的引用。
答案 0 :(得分:0)
最后,我使用直接查询语法,似乎没有任何错误。
s1 = Tire.search 'articles', :query =>
{ :mlt_field =>
{ :content =>
{ :like_text => 'electricity',
:min_term_freq => 1,
:analyzer => :mlt_content
}
}
}
答案 1 :(得分:0)
我认为这次失败是因为更喜欢这种支持位于tire-contrib,这是Tire核心的独立可选宝石。
mlt_field
定义为here in tire-contrib。