【发布时间】:2015-04-27 16:47:59
【问题描述】:
所以,我有一个小型的 elasticsearch 服务器,我正在尝试执行以下操作: 1) 用户搜索一些关键字。 2) 向用户显示相关结果的列表。结果显示在突出显示中,搜索词突出显示。 3) 用户点击结果。 4) 一个新页面显示整个文档,关键字在整个文档中突出显示,并且有一个相关(more_like_this)结果列表。
我的第一个查询如下:
{
"query" :
{
"filtered" :
{
"query": {"term": {
"text": {
"value": "term"
}
}}
}
},
"highlight":
{
"fields":
{
"title" : {"number_of_fragments" : "0"},
"text" : {}
},
"pre_tags" : ["<b>"],
"post_tags" : ["</b>"]
},
"_source" : ["title", "date", "_id"],
"from" : 0,
"size" : 10
}
我的第二个查询如下(id 显然是文档 id,这里以 1000 为例):
{
"query": {
"more_like_this":
{
"fields" : ["text","title"],
"docs": [{
"_id" : "1000"
}],
"min_term_freq" : 1,
"include" : true
}
},
"_source" : [ "title", "text", "_id", "url" ],
"from" : 0,
"size" : 10
}
有什么方法可以实现我想要的(让 more_like_this 查询突出显示搜索词)还是唯一的解决方案是对完整文档突出显示进行另一个查询?
提前致谢。
【问题讨论】:
标签: elasticsearch