我正在使用弹性搜索的Javascript Api来设置后端。我有一个很长的字段文本。是否有可能获得该领域的一部分? 。
我尝试使用弹性搜索的搜索突出显示。但是工作!!
答案 0 :(得分:3)
如果您只对匹配查询字词附近的搜索结果片段感兴趣,则可以使用传递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>
中的任何内容都不匹配,则会返回字段开头的代码段。
答案 1 :(得分:1)
我可以建议两种方法。