Хорошо Интернет забыл включить один пример этого вызова (в том числе исходного проекта), так вот один стиль его.
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 PARAMS выше. Они default to 2 and 5 respectively in ElasticSearch, что позволяет легко запутаться во время тестирования.
Спасибо за ваш авер. Я не уверен, чтобы создать аналогичный запрос с этим расширением. Ваш пример использует «like_text», а не идентификатор документа, чтобы найти связанный документ. –
@BastienD Если я понял это правильно, то этот метод является частью Tire DSL, что означает, что вы можете добавить его в поисковый блок в шине, как и любой другой метод (запрос, размер и т. Д.). Идентификатор документа определяется в вашем запросе, и вы оставляете подобный текст нулевым. –
Вы уже использовали этот драгоценный камень для этого? –