当前位置: 首页 > 知识库问答 >
问题:

如何借助elasticsearch river插件从elasticsearch服务器索引couchdb并获取JSON数据

鞠泰平
2023-03-14

我正在研究数据的图形表示。图接受JSON数据,因此我需要从CouchDB中获取所需的数据。我正在使用elasticsearch服务器为couchdb建立索引,从而检索所需的数据。我正在使用elasticsearch river插件使couchdb和elasticsearch服务器在一起。

我已经创建了CouchDB数据库'TestDB',并为此创建了一些测试文档。使用数据库设置elasticsearch。通过使用默认搜索条件编写CURl GET命令进行测试,我们必须获得大于0的“总命中数”,并且“命中数”必须具有搜索条件的响应值。但是我们得到的“总命中数”为0和“命中数”:[](即null)

我遵循的程序。

卷曲本地主机:5984

I got response that starts with:

{"couchdb":"Welcome"...

3)下载的ElasticSearch和安装的服务

服务。BAT安装

卷发http://127.0.0.1:9200

I html" target="_blank">got response as


{ "ok" : true, "status" : 200,..... 

4)为ElasticSearch 1.4.2安装了CouchDB River插件

插件-安装ElasticSearch/ElasticSearch-River-CouchDB/2.4.1

curl-x放“http://127.0.0.1:5984/testdb/1”-d“{\”Name\“:\”我的名字1\“}”
curl-x放“http://127.0.0.1:5984/testdb/2”-d“{\”Name\“:\”我的名字2\“}
curl-x放”http://127.0.0.1:5984/testdb/3“-d”{\“Name\”:\“我的名字3\”}
curl-x放“http://127.0.0.1:5984/testdb/4”-d“{\”Name\“:\”我的名字4\“}”

7)使用数据库设置ElasticSearch

curl-x PUT“127.0.0.1:9200/_river/testdb/_meta”-d“{\”type\“:\”couchdb\“,\”couchdb\“:{\”host\“:\”localhost\“,\”port\“:5984,\”db\“:\”testdb\“,\”filter\“:null},\”index\“:{\”index\“:\”testdb\“,\”type\“:\”testdb\“,\”bulk_size\“:\”100\“,\”bulk_timeout\“:\”

8)测试它

curl“http://127.0.0.1:9200/testdb/testdb/_search?pretty=true”

on testing we should get this




{
  "took" : 4,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 4,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "testdb",
      "_type" : "testdb",
      "_id" : "4",
      "_score" : 1.0, "_source" : {"_rev":"1-7e9376fc8bfa6b8c8788b0f408154584","_id":"4","name":"My Name 4"}
    }, {
      "_index" : "testdb",
      "_type" : "testdb",
      "_id" : "1",
      "_score" : 1.0, "_source" : {"_rev":"1-87386bd54c821354a93cf62add449d31","_id":"1","name":"My Name"}
    }, {
      "_index" : "testdb",
      "_type" : "testdb",
      "_id" : "2",
      "_score" : 1.0, "_source" : {"_rev":"1-194582c1e02d84ae36e59f568a459633","_id":"2","name":"My Name 2"}
    }, {
      "_index" : "testdb",
      "_type" : "testdb",
      "_id" : "3",
      "_score" : 1.0, "_source" : {"_rev":"1-62a53c50e7df02ec22973fc802fb9fc0","_id":"3","name":"My Name 3"}
    } ]
  }
}

但我有这样的东西

{
  "error" : "IndexMissingException[[testdb] missing]",
  "status" : 404
}

共有1个答案

贺福
2023-03-14

这个卷曲字符串不需要附加的testb。这:

curl "http://127.0.0.1:9200/testdb/testdb/_search?pretty=true"

应该是这样:

curl 'http://localhost/testdb/_search?pretty=true'

您可以通过运行以下命令并确保您的搜索是针对您的索引之一来查看所有您的:

 类似资料:
  • 问题内容: 我有一个应用程序,我想在其中从php Web服务器获取json数据到android mobile。我所拥有的是一个URL,点击该URL将为我提供json数据,例如 。但我想在我的android手机中检索此json格式,并从json格式获取经度和纬度值。 我们如何在android mobile上获得它呢? 提前致谢.. 问题答案: 首先做URL连接 JSON字串 在下面,我正在获取国家/

  • 问题内容: 是否有办法获取Elasticsearch服务器的版本号。我知道您获取了JSON请求数据,但是有一种解析该请求的方法仅获取版本号。 curl本地主机:9200 问题答案: 如果您拥有该实用程序,则可以使用它来解析json回复并输出纯文本字符串: 通用脚本语言可以完成相同的任务,但通常比较笨拙:

  • 我有一个创建的sqlite服务器,它保存关于用户的JSON数据。数据看起来像这样: 我也有一个基本的html页面的形式: 我也有使用XMLhttprequest()从服务器获取此数据的代码,但是,该代码只允许获取整个JSON数据并显示所有用户: 我的问题是,如何按用户名搜索用户,因此在HTML表单中,编写Sam Smith,单击按钮后,将只返回第一个用户的信息,而不是数据集中的所有用户?我想在不使

  • Im编写了一个小的Android应用程序,它应该从npm JSON服务器获取数据。它会抛出一个异常。我确实使用AsyncTask扩展了connection类,并在“DoInBackground”中执行了代码,但它仍然抛出了一个异常。请帮帮我. 代码如下: logcat告诉我们:

  • 我正在尝试访问我在ftps服务器中创建的路径中的一个文件夹,但它没有返回任何东西,它正在连接但没有返回任何东西,如果我将服务器配置更改为ftp,它可以工作。我使用的是FileZilla服务器,其配置如上所示。 SSL/TLS 服务器关于连接的日志收到一条消息,我不知道它是否有用: 227进入被动模式 列表 NLST 需要521个PROT P 退出 知道怎么了吗? 谢谢大家!

  • 问题内容: 是否可以获得与特定模式匹配的索引列表,例如 这是获取索引列表的方法: 但是我找不到过滤它们的方法,因此该列表仅包含匹配“ my_index_nr_1 ”的索引,其中“ ”是通配符 解 在使用ES一段时间后,这里是我现在使用的东西,希望它能对其他人有所帮助: 您也可以在末尾添加,以得到结果中每一列的标题。 问题答案: 使用_aliases命令有一个巧妙的技巧,当与通配符结合使用时(下面)