0

我正在查询 elasticsearch 并获得一个数组作为回报。但是返回的数组包含多个句子。我想找到返回文档的单词的索引。退回文件的相关部分:

“_id”:“AVIcfnn-laLYKmOp14og”,“_score”:0.17643881,“_routing”:“1658591699”,“_parent”:“1658591699”,“_source”:{“heading”:“”,“paragraphs”:[”即插即用新型紧凑型便携式电动缝纫机适用于多种功能,如您可以做直线针迹、4 步钮孔、用于圆形针迹的自由臂、自动跳线绕线器、单触反向针迹、适合绗缝、花边工作,皮科​​特,吸烟,绳索,盲缝针,之字形针等。具有低维护和内置电动机的智能外观 60 瓦保修期两年,公司提供的服务在您家门口。", "图片代表实际产品,图片颜色可能与产品略有不同。", "2015 年 4 月 13 日"] },

如何在此数据中找到返回此文档的单词?

4

2 回答 2

1

您可以使用 Elasticsearch Highligher,它会在给定内容中突出显示匹配的字符串。

{
"query" : {...},
"highlight" : {
    "pre_tags" : ["<tag1>"],
    "post_tags" : ["</tag1>"],
    "fields" : {
        "_all" : {}
    }
 }
}

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html

于 2016-03-14T12:16:03.047 回答
1

使用Highlighting.

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html

{
    "query" : {...},
    "highlight" : {
        "fields" : {
            "content" : { fragment_size : 150, number_of_fragments: 1}
        }
    }
}

上面的片段将返回 1 个大小为 150 个字符的片段进行匹配。发挥fragment_sizenumber_of_fragments获得最大效果。

于 2016-03-14T14:01:35.553 回答