Elasticsearch&模糊不搜索所有字段

时间:2014-06-23 09:00:35

标签: ruby-on-rails search elasticsearch fuzzy-search

我尝试使用elasticsearch和模糊查询做一个很酷的搜索栏。 在我的模型中,这是我索引字段的方式:

 mapping do
 indexes :id,    index: :not_analyzed
 indexes :name,  analyzer: 'snowball', boost: 80
 indexes :brief, analyzer: 'snowball'
 indexes :media, analyzer: 'snowball'
 indexes :owner, analyzer: 'snowball', boost: 70
 indexes :tags, analyzer: 'snowball', boost: 60
end

和方法to_indexed_json索引为json并将所有值都包含在内。

在我的控制器中,我有这个:

在我的搜索方法中:

fuzzy_query = { "query" => {
             "match" => {
              "_all" => {
                "query" => params[:search],
                "operator" => 'or',
                "fuzziness" => 'AUTO'
             }
            }
          }
        }

 s = Tire.search 'campaigns/campaign', payload: fuzzy_query

我得到了一些好结果,但只在'名字'字段上。 其他领域不起作用。

有人有想法吗?

谢谢!

0 个答案:

没有答案