elasticsearch突出显示两个特殊字符之间的文本

时间:2018-04-23 13:22:32

标签: elasticsearch elasticsearch-plugin elasticsearch-5

我需要两个逗号或句号之间的高亮文本(。)如果句子的长度超过100和500.我需要整个突出显示的文本。有没有办法从Elasticsearch获得突出显示的句子。

1 个答案:

答案 0 :(得分:1)

我没有解决方案。只是一个大致的想法。 你可以标记“。”将PERIOD_START,PERIODD_END和“,”视为COMMA,而不是使用降序使用proxmity相关性。因此PERIOD_START离PERIOD_END越远,得分越高,我们就会反过来。不确定如何过滤确切的距离

您可以使用荧光笔通过pre_tag突出显示PERIOD_START,并将帖子标记为["","<b>],并使用pre_tag和post_tag = ["</br>","<b>"]

突出显示PERIOD_END

例如,

  

你好我是Alex END_PERIOD,START_PERIOD Joshua是一个非常酷的家伙   我觉得他很好END_PERIOD,START_PERIOD

将变成

  

您好我是Alex END_PERIOD,(empty tag) START_PERIOD <b> Joshua是一个非常酷的家伙   我觉得他很好</b> END_PERIOD (empty tag),START_PERIOD

接近https://www.elastic.co/guide/en/elasticsearch/guide/current/proximity-relevance.html

突出显示https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html#highlight-source