了解查询所针对的字段

时间:2015-03-10 15:26:48

标签: ruby-on-rails elasticsearch searchkick

通过Searchkick使用Elasticsearch。

我的文件看起来像这样:

{
    "_id" : ObjectId("54f8672f258f83ac4e7783e5"),
    "n" : "Figth Club",
    "dst" : "video",
    "detail" : {
        est: "El club de la lucha",
        ent: "Figth club",
        hut: "Harcosok klubja"
    }
}

我的物品型号:

class Item
 include Mongoid::Document
 searchkick

 def search_data
        {
            n: n,
            est: detail.est,
            ent: detail.ent,
            hut: detail.hut,
        }
 end

end

搜索查询类似于:

Item.search(query, fields: [:n, :est, :ent, :hut], limit: 10).to_a

我想知道在哪个字段中找到了查询。例如,如果query="El club de la lucha"我想知道detail.est是找到它的字段。这可能吗?

1 个答案:

答案 0 :(得分:0)

您需要突出显示与您的搜索匹配的结果。 请看看提供的api。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html

您的查询应如下所示。

{
    "query" : {...},
    "highlight" : {
        "fields" : {
             "_all" : {}
        }
    }
}