gpt4 book ai didi

grails - 通过 grails 插件将自定义分析器添加到 elasticsearch

转载 作者:行者123 更新时间:2023-12-02 15:54:40 25 4
gpt4 key购买 nike

我正在尝试通过 grails 插件向 elasticsearch 添加自定义分析器。我能够使用域上的“可搜索”将使用的分析器更改为通用分析器:

static searchable = {
all = [analyzer: 'snowball']
}

但无法让它了解服装分析仪。目前尚不清楚如何将 REST API 中的以下 json 转换为 groovy closue:
PUT /my_index
{
"settings": {
"analysis": {
"filter": {
"my_synonym_filter": {
"type": "synonym",
"synonyms": [
"british,english",
"queen,monarch"
]
}
},
"analyzer": {
"my_synonyms": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_synonym_filter"
]
}
}
}
}
}

this question似乎有同样的问题,但答案不起作用, this答案表明这可能是不可能的,但这似乎不合理,因为设置自定义分析器非常基本。

有什么建议么?

最佳答案

我看到有两种方法可以帮助您实现这一目标。

第一种方法是通过 low level API使用注入(inject)的 elasticSearchHelper并直接访问 ES 客户端。

    elasticSearchHelper.withElasticSearch { client ->
// Do some stuff with the ElasticSearch client
client.admin()
.indices()
.prepareCreate(indexName)
.setSettings(settings) <--- your settings/analyzers go here
.execute()
.actionGet()
}

第二种方法涉及使用 ElasticSearchAdminService service 的未记录功能。 ,即 createIndex() method ,它允许您在创建新索引时传入所需的设置和分析器。后者基本上与上面的第一个选项完全相同,但您可以直接使用 Grails 服务。

关于grails - 通过 grails 插件将自定义分析器添加到 elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34974427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com