簡體   English   中英

使用Tire / ElasticSearch設置MoreLikeThis查詢

[英]Setting up a MoreLikeThis Query using Tire/ElasticSearch

我正在使用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={}>

有人對我如何進行設置有任何見解嗎? 我瀏覽了很好的Tyre文檔,但看不到任何幫助。 我發現了類似的查詢Fuzzy_like_this和Github問題說要在自述文件中搜索模糊,但是我找不到對此的任何引用。

最后,我求助於使用直接查詢語法,該語法似乎沒有引發任何錯誤。

s1 = Tire.search 'articles', :query =>
    { :mlt_field =>
          { :content =>
                { :like_text => 'electricity',
                  :min_term_freq => 1,
                  :analyzer => :mlt_content
                }
          }
    }

我認為此操作失敗了,因為“更多類似”支持位於tire-contrib中 ,這是Tire核心中的一個單獨的可選寶石。

mlt_field在tire-contrib中定義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM