0

通过 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它所在的字段。那可能吗?

4

1 回答 1

0

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

您的查询应如下所示。

{
    "query" : {...},
    "highlight" : {
        "fields" : {
             "_all" : {}
        }
    }
}
于 2015-03-10T21:30:33.870 回答