使用带注释的高亮器
编辑使用 annotated
高亮器
编辑annotated-text
插件包含一个自定义高亮器,旨在以尊重原始标记的方式标记搜索命中。
# Example documents PUT my-index-000001/_doc/1 { "my_field": "The cat sat on the [mat](sku3578)" } GET my-index-000001/_search { "query": { "query_string": { "query": "cats" } }, "highlight": { "fields": { "my_field": { "type": "annotated", "require_field_match": false } } } }
带注释的高亮器基于 unified
高亮器并支持相同的设置,但不使用 pre_tags
或 post_tags
参数。它不使用类似 HTML 的标记(例如 <em>cat</em>
),而是使用与注释中相同的类 Markdown 语法,并注入一个键值对注释,其中 _hit_term
是键,匹配的搜索词是值,例如:
The [cat](_hit_term=cat) sat on the [mat](sku3578)
带注释的高亮器尝试尊重原始文本中任何现有的标记。
- 如果搜索词完全匹配现有注释的位置,则
_hit_term
键将合并到现有注释的(...)
部分中使用的 URL 类语法中。 - 但是,如果搜索词与现有注释的范围重叠,则会破坏标记格式,因此原始注释将被删除,取而代之的是一个仅包含搜索命中信息的新的注释。
- 原始文本中任何不重叠的注释都将保留在高亮器选择中。