Elision 词元过滤器
Elision 词元过滤器用于移除某些语言中单词的省略字符。省略通常发生在法语等语言中,其中单词通常会缩写并与后续单词合并,通常通过省略元音并用撇号替换。
Elision 词元过滤器已在以下语言分词器中预配置:catalan
、french
、irish
和 italian
。
参数
自定义的 elision
词元过滤器可使用以下参数进行配置。
参数 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
articles | 如果未配置 articles_path 则为必填项 | 字符串数组 | 定义当省略词出现时应移除哪些冠词或短词。 |
articles_path | 如果未配置 articles 则为必填项 | 字符串 | 指定在分析过程中应移除的自定义冠词列表的路径。 |
articles_case | 可选 | 布尔型 | 指定过滤器在匹配省略词时是否区分大小写。默认为 false 。 |
示例
默认的法语省略词集包括 l'
、m'
、t'
、qu'
、n'
、s'
、j'
、d'
、c'
、jusqu'
、quoiqu'
、lorsqu'
和 puisqu'
。您可以通过配置 french_elision
词元过滤器来更新此设置。以下示例请求创建一个名为 french_texts
的新索引,并使用 french_elision
过滤器配置一个分词器。
PUT /french_texts
{
"settings": {
"analysis": {
"filter": {
"french_elision": {
"type": "elision",
"articles": [ "l", "t", "m", "d", "n", "s", "j" ]
}
},
"analyzer": {
"french_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": ["lowercase", "french_elision"]
}
}
}
},
"mappings": {
"properties": {
"text": {
"type": "text",
"analyzer": "french_analyzer"
}
}
}
}
生成的词元
使用以下请求检查使用该分析器生成的词元
POST /french_texts/_analyze
{
"analyzer": "french_analyzer",
"text": "L'étudiant aime l'école et le travail."
}
响应包含生成的词元
{
"tokens": [
{
"token": "étudiant",
"start_offset": 0,
"end_offset": 10,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "aime",
"start_offset": 11,
"end_offset": 15,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "école",
"start_offset": 16,
"end_offset": 23,
"type": "<ALPHANUM>",
"position": 2
},
{
"token": "et",
"start_offset": 24,
"end_offset": 26,
"type": "<ALPHANUM>",
"position": 3
},
{
"token": "le",
"start_offset": 27,
"end_offset": 29,
"type": "<ALPHANUM>",
"position": 4
},
{
"token": "travail",
"start_offset": 30,
"end_offset": 37,
"type": "<ALPHANUM>",
"position": 5
}
]
}