我几乎可以肯定这应该在其他地方被问到并回答,但无论我做了多少谷歌搜索,我都找不到相似的答案。我很可能做错了,但值得一提。
我希望能够在Elasticsearch中进行查询并返回包含结果的元素,或者至少标记文档中的元素。
说我有一份文件:
{
"_id": 1,
"name": "The hare and the turtle",
"author": "Some guy",
"chapters": {
"1": {
"title": "The race",
"body": "The hare and the turtle lined up before the wall, where there was a Macbook.."
},
"2": {
"title": "The hare pulls ahead",
"body": "After the starting gun the race begins. The Macbook appears again."
},
"3": {
"title": "No references to Apples",
"body": "Nothing about Apples here"
}
}
然后我想查询(在文档中或在整个索引中)关键字" Macbook"但我想知道关键字或查询出现的章节,而不是包含匹配的整个文档,这是通常返回的值。我该怎么做?
我知道Elasticsearch中的突出显示功能,默认情况下会在匹配项周围放置一个html标签,但在这种情况下,我真正想要的是匹配下面的章节编号和内容。我不关心第3章及其内容,因为它不包含" Macbook"。
如何在ES中实现这一目标?