反转词元过滤器 #
反转(reverse
)词元过滤器会反转每个词元中字符的顺序,这样在分析过程中,后缀信息就会位于反转后词元的开头。
这对于基于后缀的搜索很有用:
反转词元过滤器在你需要进行基于后缀的搜索时很有帮助,例如以下场景:
- 后缀匹配:根据单词的后缀来搜索单词,比如识别以特定后缀结尾的单词(例如 -tion 或 -ing)。
- 文件扩展名搜索:通过文件的扩展名来搜索文件,例如 .txt 或 .jpg。
- 自定义排序或排名:通过反转词元,你可以基于后缀实现独特的排序或排名逻辑。
- 后缀自动补全:实现基于后缀而非前缀的自动补全建议。
参考说明 #
以下示例请求创建了一个名为 my-reverse-index
的新索引,并配置了一个带有反转过滤器的分词器。
PUT /my-reverse-index
{
"settings": {
"analysis": {
"filter": {
"reverse_filter": {
"type": "reverse"
}
},
"analyzer": {
"my_reverse_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"reverse_filter"
]
}
}
}
}
}
产生的词元 #
使用以下请求来检查使用该分词器生成的词元:
GET /my-reverse-index/_analyze
{
"analyzer": "my_reverse_analyzer",
"text": "hello world"
}
返回内容包含产生的词元
{
"tokens": [
{
"token": "olleh",
"start_offset": 0,
"end_offset": 5,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "dlrow",
"start_offset": 6,
"end_offset": 11,
"type": "<ALPHANUM>",
"position": 1
}
]
}