gpt4 book ai didi

groovy - Groovy Elasticsearch客户端

转载 作者:行者123 更新时间:2023-12-03 00:19:37 25 4
gpt4 key购买 nike

我在grails 2.5.1应用程序中使用ES。

我以前的依赖项如下:

   runtime 'org.elasticsearch:elasticsearch:1.3.7'
runtime 'org.elasticsearch:elasticsearch-client-groovy:1.3.2'

我已经更新了映射,并且我的系统ES已更改为 1.7.1
以下依赖关系似乎可以正常工作:
    runtime 'org.elasticsearch:elasticsearch:1.7.1'
runtime 'org.elasticsearch:elasticsearch-client-groovy:1.3.2'

我还想更新我的Groovy客户端版本。我可以找到的唯一存储库如下: org.elasticsearch:elasticsearch-groovy:1.7.0
根据 github repository,尽管这似乎是Java客户端的普通包装。

这样的结果是我的现有代码不再起作用,给出了有关GNode和GClient不存在的异常(我还搜索了存储库以确保)。但是关于 flex 文档,这些类 exist。我一直在尝试使用google和 maven,但是找不到用于Groovy客户端的任何其他存储库。

错误示例:

unable to resolve class org.elasticsearch.groovy.node.GNode


org.elasticsearch.groovy.node.GNode esnode = ESWrapperService.getNode()
org.elasticsearch.groovy.client.GClient esclient = esnode.getClient()

try {
if ( (params.q && params.q.length() > 0) || params.rectype) {

params.max = Math.min(params.max ? params.int('max') : 15, 100)
params.offset = params.offset ? params.int('offset') : 0

def query_str = buildQuery(params,field_map)


def search = esclient.search{
indices grailsApplication.config.aggr.es.index ?: "default"
source {
from = params.offset
size = params.max
sort = params.sort?[
("${params.sort}".toString()) : [ 'order' : (params.order?:'asc') ]
] : []

query {
query_string (query: query_str)
}
facets {
consortiaName {
terms {
field = 'consortiaName'
size = 25
}
}
cpname {
terms {
field = 'cpname'
size = 25
}
}
type {
terms {
field = 'rectype'
}
}
startYear {
terms {
field = 'startYear'
size = 25
}
}
endYear {
terms {
field = 'endYear'
size = 25
}
}
}

}

}

if ( search?.response ) {
result.hits = search.response.hits
result.resultsTotal = search.response.hits.totalHits

// We pre-process the facet response to work around some translation issues in ES
if ( search.response.facets != null ) {
result.facets = [:]
search.response.facets.facets.each { facet ->
def facet_values = []
facet.value.entries.each { fe ->
facet_values.add([term: fe.term,display:fe.term,count:"${fe.count}"])
}
result.facets[facet.key] = facet_values
}
}
}
}
else {
log.debug("No query.. Show search page")
}
}
finally {
try {
}
catch ( Exception e ) {
log.error("problem",e);
}
}

更新

我刚刚检查了指向 preface信息库的文档的 elasticsearch-groovy部分,这使它更加混乱。

最佳答案

如评论中所述,文档已过时。我遇到了同样的问题,但是使用@pickypg的建议尝试了newer documentation on github,并且有效。

关于groovy - Groovy Elasticsearch客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204552/

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