我正在努力让ElasticSearch工作,特别是使用River Plugin。出于某种原因,我无法让它发挥作用。我已经包含了我尝试使用的程序,找到here:
curl -XDELETE 'http://localhost:9200/_all/'
响应:
{
"ok": true,
"acknowledged": true
}
这是我知道我正在使用一组空的弹性搜索实例。
我有一个名为test的现有数据库,并且已经安装了河流插件。有没有测试确认River Plugin已安装并运行?
我发出以下命令:
curl -XPUT 'http://localhost:9200/_river/my_index/_meta' -d '{
"type" : "couchdb",
"couchdb" : {
"host" : "localhost",
"port" : 5984,
"db" : "my_couch_db",
"filter" : null
}
}'
my_couch_db是一个真正的数据库,我在Futon中看到它。其中有一份文件。
回应:
{
"ok": true,
"_index": "_river",
"_type": "my_index",
"_id": "_meta",
"_version": 1
}
现在在这一点上,我的理解是弹性应该像我在教程中看到的那样工作。
我尝试查询,只是为了找到任何东西。我去了
http://localhost:9200/my_couch_db/my_couch_db.
回应:
No handler found for uri [/my_couch_db/my_couch_db] and method [GET]
当我去
时有什么奇怪的localhost:5984/my_couch_db/__changes
我得到了
{
"error": "not_found",
"reason": "missing"
}
任何人都知道我搞砸了哪一部分?
答案 0 :(得分:4)
我尝试查询,只是为了找到任何东西。 我去了
http://localhost:9200/my_couch_db/my_couch_db.
尝试在你的卷曲-XGET末尾添加/_search
(带可选?pretty=true
),如下所示:
C:\>curl -XGET "http://localhost:9200/my_couch_db/my_couch_db/_search?pretty=true"
{
"took": 0,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.0,
"hits": [
{
"_index": "my_couch_db",
"_type": "my_couch_db",
"_id": "a2b52647416f2fc27684dacf52001b7b",
"_score": 1.0,
"_source": {
"_rev": "1-5e4efe372810958ed636d2385bf8a36d",
"_id": "a2b52647416f2fc27684dacf52001b7b",
"test": "hello"
}
}
]
}
}
当我去的时候有点奇怪 本地主机:5984 / my_couch_db / __变化
我得到
{"error":"not_found","reason":"missing"}
尝试从__changes
中删除其中一个下划线,这应该是这样的:
C:\>curl -XGET "http://localhost:5984/my_couch_db/_changes"
{
"results": [
{
"seq": 1,
"id": "a2b52647416f2fc27684dacf52001b7b",
"changes": [
{
"rev": "1-5e4efe372810958ed636d2385bf8a36d"
}
]
}
],
"last_seq": 1
}