【发布时间】:2018-10-30 20:13:20
【问题描述】:
我正在为我设置的后端使用弹性搜索的 Javascript Api。我有一个很长的字段文本。是否有可能只获得该领域的一部分? .
我尝试使用弹性搜索的搜索突出显示。但是努力工作!
【问题讨论】:
我正在为我设置的后端使用弹性搜索的 Javascript Api。我有一个很长的字段文本。是否有可能只获得该领域的一部分? .
我尝试使用弹性搜索的搜索突出显示。但是努力工作!
【问题讨论】:
如果您只对匹配查询词附近的结果的 sn-ps 感兴趣,可以使用传递 highlight 参数来限制返回的数据长度。
GET _search
{
"query" : {...},
"highlight" : {
"fields" : {
"<name of your field>" : {
"fragment_size" : <desired length>,
"no_match_size" : <desired length>,
"number_of_fragments" : 1,
"pre_tags" : [""],
"post_tags" : [""],
}
}
}
}
将 pre_tags 和 post_tags 设置为空字符串可防止 ElasticSearch 将匹配的文本与标签包装在一起。如果查询不匹配 <name_of_your_field> 中的任何内容,则返回字段开头的 sn-p。
【讨论】:
我可以建议两种方法。
【讨论】: