我有以下问题:
我正在用facetings进行一些测试
我的脚本如下:
https://gist.github.com/nayelisantacruz/6610862
我得到的结果如下:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": []
},
"facets": {
"title": {
"_type": "terms",
"missing": 0,
"total": 2,
"other": 0,
"terms": [
{
"term": "JavaScript",
"count": 1
},
{
"term": "Java Platform, Standard Edition",
"count": 1
}
]
}
}
}
这很好,但问题是我无法显示“突出显示”
我期待的结果如下:
.......... .......... ..........
"facets": {
"title": {
"_type": "terms",
"missing": 0,
"total": 2,
"other": 0,
"terms": [
{
"term": "<b>Java</b>Script",
"count": 1
},
{
"term": "<b>Java</b> Platform, Standard Edition",
"count": 1
}
]
}
}
.......... .......... ..........
任何人都可以帮助我并告诉我我做错了什么或我错过了什么,请
非常感谢您的关注
答案 0 :(得分:8)
分面和突出显示是两件完全不同的事情。突出显示与搜索一起使用,以便为每个搜索结果返回突出显示的片段。
Faceting是一个完全不同的故事,因为在与主查询匹配的所有文档中,facet有效地查看已为特定字段编制索引的所有术语。在这方面,查询仅控制将要考虑执行分面的文档。将返回仅返回顶部术语(默认情况下具有更高计数)。这些术语不仅与搜索结果(默认为10)相关,而且与所有与查询匹配的文档相关。
尽管如此,从方面返回的术语从未突出显示。
如果您使用highlighting,则应在回复中看到一个新部分,其中包含每个搜索结果的突出显示的代码段。您没有看到它的原因是您要查询title.autocomplete
字段,但是在启用了title
的{{1}}字段上进行突出显示。您必须将require_field_match
设置为true或突出显示您要查询的相同字段。但这再次与分面无关。
答案 1 :(得分:7)
请注意使用*
代替_all
。这就像在各种嵌套层面上的魅力一样:
POST 123821/Encounters/_search
{
"query": {
"query_string": {
"query": "Aller*"
}
},
"highlight": {
"fields": {
"*": {}
}
}
}