elasticsearch-julia

ny6fqffe  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(402)

我尝试与julia一起使用elasticsearch,当我尝试连接到kibana中的索引时,出现以下错误:
pyerror($(expr(:escape,:(ccall(ţ=/home/j1028071/.julia/packages/pycall/zqdxb/src/pyfncall.jl:43=ţ@pysym(:pyobjectţcall),pyptr,(pyptr,pyptr,pyptr),o,pyargsptr,kw峏峏))<class'elasticsearch.exceptions.serializationerror'>serializationerror('未知mimetype,无法反序列化:text/html')
这是我的密码:

using PyCall
es = pyimport(“elasticsearch”)
js = pyimport(“json”)
client = es.Elasticsearch(“http://kibana-cig:5601”)
elastic_info = es.Elasticsearch.info(client)

如果有人曾经有过这个错误或者知道如何修复它…
谢谢你的帮助!

iklwldmw

iklwldmw1#

代码中的问题可能是将客户机对象从julia传回python。
顺便说一句,您不需要python的json。pycall将把python词典翻译成julia的 Dict s。
这以前对我有用

using PyCall
es= pyimport("elasticsearch")
client = es.Elasticsearch() #provide con info if needed

现在我只调用 client 对象而不是传递对象:

client.info()  

dat = Dict("col1"=>"some text", "col2"=>"more text")
res = client.index(index="data", doc_type="data", id="1", body=dat)

q = Dict("query"=>Dict("match"=>Dict("col1"=>Dict("query"=>"some text"))))

client.search("data",body=q)["hits"]["hits"]

另一件事。很可能您正在连接kibana gui,而不是elasticsearch api。请尝试使用:

client = es.Elasticsearch("http://yourelastichostname:5601")

如果有用就告诉我。

相关问题