ES入门十四:分词器
在Elasticsearch中,分词器(Analyzer)是用来处理文本字段的组件,它将文本分割成一系列的词项(Tokens),这有助于建立索引并支持全文搜索。
以下是一个创建自定义分词器的例子,该分词器使用了standard
分词器,并额外配置了stop
过滤器来移除停用词:
PUT /my_index
{
"settings": {
"analysis": {
"char_filter": {
"my_char_filter": {
"type": "mapping",
"mappings": ["-=>"]
}
},
"filter": {
"my_stopwords": {
"type": "stop",
"stopwords": ["the", "a"]
}
},
"analyzer": {
"my_analyzer": {
"type": "custom",
"char_filter": ["my_char_filter"],
"tokenizer": "standard",
"filter": ["lowercase", "my_stopwords"]
}
}
}
}
}
在这个例子中,我们定义了一个自定义的分词器my_analyzer
,它使用了standard
分词器来进行基本的单词分割,并且定义了一个字符过滤器my_char_filter
来替换文本中的破折号,还定义了一个过滤器my_stopwords
来移除英文中的常用停用词。
你可以通过以下API请求来测试这个分词器:
POST /my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "The quick brown fox."
}
这将展示如何对文本"The quick brown fox."使用my_analyzer
分词器进行分词,并展示输出的词项。
评论已关闭