用的最多的语汇单元过滤器(token filters)是 lowercase
过滤器,它的功能正和你期望的一样;它将每个词元(token)转换为小写形式:
GET /_analyze?tokenizer=standard&filters=lowercase
The QUICK Brown FOX! (1)
-
得到的词元(token)是
the
,quick
,brown
,fox
只要查询和检索的分析过程是一样的,不管用户搜索 fox
还是 FOX
都能得到一样的搜索结果。lowercase
过滤器会将查询 FOX
的请求转换为查询 fox
的请求, fox
和我们在倒排索引中存储的是同一个词元(token)。
为了在分析过程中使用 token 过滤器,我们可以创建一个 custom
分析器:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_lowercaser": {
"tokenizer": "standard",
"filter": [ "lowercase" ]
}
}
}
}
}
我们可以通过 analyze
API 来验证:
GET /my_index/_analyze?analyzer=my_lowercaser
The QUICK Brown FOX! (1)
-
得到的词元是
the
,quick
,brown
,fox