HTML strip 字符过滤器
编辑HTML strip 字符过滤器编辑
从文本中去除 HTML 元素,并将 HTML 实体替换为其解码值(例如,将 &
替换为 &
)。
html_strip
过滤器使用 Lucene 的 HTMLStripCharFilter。
示例编辑
以下 分析 API 请求使用 html_strip
过滤器将文本 <p>I'm so <b>happy</b>!</p>
更改为 \nI'm so happy!\n
。
response = client.indices.analyze( body: { tokenizer: 'keyword', char_filter: [ 'html_strip' ], text: 'I'm so happy</b>!</p>' } ) puts response
GET /_analyze { "tokenizer": "keyword", "char_filter": [ "html_strip" ], "text": "<p>I'm so <b>happy</b>!</p>" }
该过滤器生成以下文本
[ \nI'm so happy!\n ]
添加到分析器编辑
以下 创建索引 API 请求使用 html_strip
过滤器配置新的 自定义分析器。
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'keyword', char_filter: [ 'html_strip' ] } } } } } ) puts response
PUT /my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "keyword", "char_filter": [ "html_strip" ] } } } } }
可配置参数编辑
-
escaped_tags
- (可选,字符串数组)不带尖括号 (
< >
) 的 HTML 元素数组。 从文本中去除 HTML 时,过滤器会跳过这些 HTML 元素。 例如,值为[ "p" ]
会跳过<p>
HTML 元素。
自定义编辑
要自定义 html_strip
过滤器,请复制它以创建新的自定义字符过滤器的基础。 您可以使用其可配置参数修改过滤器。
以下 创建索引 API 请求使用自定义 html_strip
过滤器 my_custom_html_strip_char_filter
配置新的 自定义分析器。
my_custom_html_strip_char_filter
过滤器跳过对 <b>
HTML 元素的删除。
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'keyword', char_filter: [ 'my_custom_html_strip_char_filter' ] } }, char_filter: { my_custom_html_strip_char_filter: { type: 'html_strip', escaped_tags: [ 'b' ] } } } } } ) puts response
PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "keyword", "char_filter": [ "my_custom_html_strip_char_filter" ] } }, "char_filter": { "my_custom_html_strip_char_filter": { "type": "html_strip", "escaped_tags": [ "b" ] } } } } }