嗨,我有一个用例,希望我的应用程序动态确定xyz_tokizer,xyz_filter,xyz_synonyms等
与此类似的东西
'''
GET test / _search
{
"query":{
"match": {
"content": {
"query": "search_text",
"analyzer": {
"filter": "xyz_filter",
"tokenizer": "xyz_tokenizer"
}
}
}
}
}
'''
但是,它会引发错误。根据elasticsearch文档,我发现我们只能指定在索引设置中定义的分析器。同样,如何动态指定过滤器, token 生成器
最佳答案
您不能,这些分析器需要在索引中注册,您可以根据需要动态使用search time analyzer。
但是索引时间,您不能动态添加它们,它必须存在于索引设置中。您还可以更改索引设置,以添加新的分析器并使用新添加的分析器添加新字段(增量更改),但是更改字段的现有分析器是一项重大更改,您需要重新索引整个数据。
关于elasticsearch - Elasticsearch Dynamic Analyzer和同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61610447/