Elision 标记过滤器
编辑Elision 标记过滤器编辑
从标记的开头删除指定的 省略。例如,您可以使用此过滤器将 l'avion
更改为 avion
。
未自定义时,过滤器默认删除以下法语省略:
l'
、m'
、t'
、qu'
、n'
、s'
、j'
、d'
、c'
、jusqu'
、quoiqu'
、lorsqu'
、puisqu'
此过滤器的自定义版本包含在 Elasticsearch 的几个内置 语言分析器 中
此过滤器使用 Lucene 的 ElisionFilter。
示例编辑
以下 分析 API 请求使用 elision
过滤器从 j’examine près du wharf
中删除 j'
response = client.indices.analyze( body: { tokenizer: 'standard', filter: [ 'elision' ], text: 'j’examine près du wharf' } ) puts response
GET _analyze { "tokenizer" : "standard", "filter" : ["elision"], "text" : "j’examine près du wharf" }
该过滤器生成以下标记
[ examine, près, du, wharf ]
添加到分析器编辑
以下 创建索引 API 请求使用 elision
过滤器配置新的 自定义分析器。
response = client.indices.create( index: 'elision_example', body: { settings: { analysis: { analyzer: { whitespace_elision: { tokenizer: 'whitespace', filter: [ 'elision' ] } } } } } ) puts response
PUT /elision_example { "settings": { "analysis": { "analyzer": { "whitespace_elision": { "tokenizer": "whitespace", "filter": [ "elision" ] } } } } }
可配置参数编辑
-
articles
-
(必填*,字符串数组)要删除的省略列表。
要删除省略,省略必须位于标记的开头,并且紧跟其后的是撇号。省略和撇号都将被删除。
对于自定义
elision
过滤器,必须指定articles
参数或articles_path
参数。 -
articles_path
-
(必填*,字符串)包含要删除的省略列表的文件的路径。
此路径必须是绝对路径或相对于
config
位置的路径,并且文件必须采用 UTF-8 编码。文件中的每个省略都必须用换行符分隔。要删除省略,省略必须位于标记的开头,并且紧跟其后的是撇号。省略和撇号都将被删除。
对于自定义
elision
过滤器,必须指定articles_path
参数或articles
参数。 -
articles_case
- (可选,布尔值)如果为
true
,则省略匹配不区分大小写。如果为false
,则省略匹配区分大小写。默认为false
。
自定义编辑
要自定义 elision
过滤器,请复制它以创建新的自定义标记过滤器的基础。您可以使用其可配置参数修改过滤器。
例如,以下请求创建一个不区分大小写的自定义 elision
过滤器,该过滤器删除 l'
、m'
、t'
、qu'
、n'
、s'
和 j'
省略
response = client.indices.create( index: 'elision_case_insensitive_example', body: { settings: { analysis: { analyzer: { default: { tokenizer: 'whitespace', filter: [ 'elision_case_insensitive' ] } }, filter: { elision_case_insensitive: { type: 'elision', articles: [ 'l', 'm', 't', 'qu', 'n', 's', 'j' ], articles_case: true } } } } } ) puts response
PUT /elision_case_insensitive_example { "settings": { "analysis": { "analyzer": { "default": { "tokenizer": "whitespace", "filter": [ "elision_case_insensitive" ] } }, "filter": { "elision_case_insensitive": { "type": "elision", "articles": [ "l", "m", "t", "qu", "n", "s", "j" ], "articles_case": true } } } } }