使用 _id 字段检索文档,该文档的一个字段包含 elasticsearch 中突出显示的单词
retrieve a document using _id field that its one field contains highlighted words in elsaticsearch
我想直接使用它的 _id 字段访问我的索引中的文档,我想突出显示 messageText
字段中的一个词,为此,我创建了下面的查询,但 highlight
属性没有出现在结果响应中。
{
"query":{
"term":{
"_id": "1006382869737"
}
},
"highlight" : {
"tags_schema" : "styled",
"fields" : {
"messageText" : {
"highlight_query":{
"term": {
"messageText":"car"
}
}
}
}
}
}
我确定 car
出现在 Id 1006382869737
文档的 messageText
字段中。所以我确定 highlights
必须存在于响应中,但事实并非如此。
如果这很重要,我使用的是 2.3.4 版的 elasticsearch。并根据此 documentation 创建了查询。我不确定此文档中的 rescore_query
是什么,如果它很重要请告诉我如何编辑我的查询,否则给我另一个建议。
tnx :)
Additional Information
我也试试下面的查询:
{
"query":{
"bool": {
"must":[
{
"term":{
"_id": "1006382869737"
}
},
{
"term": {
"messageText":"car"
}
}
]
}
},
"highlight" : {
"fields" : {
"messageText" : {}
}
}
}
但它不会导致文档命中。
我找到了解决方案:
我的数据来自我无法访问其代码的服务器。经过多次调试后,我发现在某些情况下,服务器会在另一个名为 caption
的字段中发送文本数据。
不幸的是服务器没有很好的文档,导致了这个问题。
最后我发现了问题并为 caption
字段添加了更多 highlight_query,现在工作正常。
我想直接使用它的 _id 字段访问我的索引中的文档,我想突出显示 messageText
字段中的一个词,为此,我创建了下面的查询,但 highlight
属性没有出现在结果响应中。
{
"query":{
"term":{
"_id": "1006382869737"
}
},
"highlight" : {
"tags_schema" : "styled",
"fields" : {
"messageText" : {
"highlight_query":{
"term": {
"messageText":"car"
}
}
}
}
}
}
我确定 car
出现在 Id 1006382869737
文档的 messageText
字段中。所以我确定 highlights
必须存在于响应中,但事实并非如此。
如果这很重要,我使用的是 2.3.4 版的 elasticsearch。并根据此 documentation 创建了查询。我不确定此文档中的 rescore_query
是什么,如果它很重要请告诉我如何编辑我的查询,否则给我另一个建议。
tnx :)
Additional Information
我也试试下面的查询:
{
"query":{
"bool": {
"must":[
{
"term":{
"_id": "1006382869737"
}
},
{
"term": {
"messageText":"car"
}
}
]
}
},
"highlight" : {
"fields" : {
"messageText" : {}
}
}
}
但它不会导致文档命中。
我找到了解决方案:
我的数据来自我无法访问其代码的服务器。经过多次调试后,我发现在某些情况下,服务器会在另一个名为 caption
的字段中发送文本数据。
不幸的是服务器没有很好的文档,导致了这个问题。
最后我发现了问题并为 caption
字段添加了更多 highlight_query,现在工作正常。