是否可以将 stopwords.txt
上传到 AWS Elasticsearch 并将其指定为停止词令牌过滤器的路径?
是否可以将 stopwords.txt
上传到 AWS Elasticsearch 并将其指定为停止词令牌过滤器的路径?
编辑:现在您可以将“包”上传到AWS Elasticsearch服务,这使您可以添加自定义的停用词列表等。请参见https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/custom-packages.html
stopwords.txt
文件上传到托管的AWS Elasticsearch服务中。您需要在自定义分析器中指定停用词。如何执行此操作的更多详细信息可以在官方文档中找到。 PUT /my_new_index
{
"settings": {
"analysis": {
"analyzer": {
"english_analyzer": {
"type": "english",
"stopwords": "['a', 'the', 'they', 'and']"
}
}
}
}
}
2. 重新索引
POST _reindex
{
"source": {
"index": "my_index"
},
"dest": {
"index": "my_new_index"
}
}
是的,可以通过在定义停用词过滤器时设置stopwords_path
来实现。
stopwords_path => 停用词文件配置的路径(相对于配置位置或绝对路径)。每个停用词应该在自己的“行”中(由换行符分隔)。文件必须使用UTF-8编码。
以下是我是如何做到的。
PUT /testindex
{
"settings": {
"analysis": {
"filter": {
"teststopper": {
"type": "stop",
"stopwords_path": "stopwords.txt"
}
}
}
}
}
_analyze
API验证过滤器是否按预期工作。
GET testindex/_analyze
{
"tokenizer" : "standard",
"token_filters" : ["teststopper"],
"text" : "this is a text to test the stop filter",
"explain" : true,
"attributes" : ["keyword"]
}
更多信息请参见: