反向词元过滤器
reverse
词元过滤器颠倒每个词元中字符的顺序,从而在分析过程中使后缀信息在反向词元的开头可访问。
这对于基于后缀的搜索非常有用
reverse
词元过滤器在您需要执行基于后缀的搜索时非常有用,例如在以下场景中:
- 后缀匹配:根据词语的后缀进行搜索,例如识别具有特定结尾(例如,
-tion
或-ing
)的词语。 - 文件扩展名搜索:通过文件扩展名搜索文件,例如
.txt
或.jpg
。 - 自定义排序或排名:通过反转词元,您可以根据后缀实现独特的排序或排名逻辑。
- 后缀自动完成:实现使用后缀而不是前缀的自动完成建议。
示例
以下示例请求创建了一个名为 my-reverse-index
的新索引,并配置了一个带有 reverse
过滤器的分析器:
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
}
]
}