我有以下问题:
我正在做一些带有刻面的测试
我的脚本如下:
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
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
这很好,但问题是我无法显示"突出显示"
我期待如下结果:
.......... .......... ..........
"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
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
.......... .......... ..........
任何人都可以帮助我,告诉我我做错了什么或我错过了什么
非常感谢您的关注
刻面和突出显示是两个完全不同的东西.突出显示与搜索一起使用,以便为每个搜索结果返回突出显示的片段.
Faceting是一个完全不同的故事,因为在与主查询匹配的所有文档中,facet有效地查看已为特定字段编制索引的所有术语.在这方面,查询仅控制将要考虑执行分面的文档.将返回仅返回顶部术语(默认情况下具有更高计数).这些术语不仅与搜索结果(默认为10)相关,而且与所有与查询匹配的文档相关.
也就是说,从方面返回的术语从未突出显示.
如果您使用突出显示,则应在响应中看到,如参考文献中所述,新部分包含每个搜索结果的突出显示的代码段.您没有看到它的原因是您正在查询该title.autocomplete字段,但您在该title字段上突出显示已require_field_match启用.您必须设置require_field_match为true或突出显示您要查询的相同字段.但这再次与任何方面无关.
小智 7
注意使用*而不是_all.这就像所有嵌套层次的魅力一样:
POST 123821/Encounters/_search
{
"query": {
"query_string": {
"query": "Aller*"
}
},
"highlight": {
"fields": {
"*": {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6367 次 |
| 最近记录: |