我想执行这个例子:
$ curl -XGET 'http://localhost:9200/twitter/tweet/1/_mlt?mlt_fields=tag,content&min_doc_freq=1'
与轮胎宝石。有可能吗?
我的目标是搜索与另一个文档相关的文档。
它不是直接在轮胎中实现的。然而,Karmi已将其实现为轮胎贡献库中的轮胎扩展。
gem 'tire-contrib'
more_like_this_field(:tag, like_text, options = {min_doc_freq: 1})
好吧,互联网忘记包含这个调用的一个例子(包括源项目),所以这是它的一种风格。
related_articles = Article.search {
query {
more_like_this("#{current_article.title} #{current_article.body}",
fields: [:title, :description],
percent_terms_to_match: 0.1,
min_term_freq: 1,
min_doc_freq: 1
)
}
}
puts related_articles.results.count
puts related_articles.results.first.title if related_articles.present?
这里的问题是上面的 min_term_freq 和 min_doc_freq 参数。在 ElasticSearch 中它们分别默认为 2 和 5,这使得在测试时很容易混淆。