通过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
是找到它的字段。这可能吗?
答案 0 :(得分:0)
您需要突出显示与您的搜索匹配的结果。 请看看提供的api。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html
您的查询应如下所示。
{
"query" : {...},
"highlight" : {
"fields" : {
"_all" : {}
}
}
}