数据已使用骆驼索引到弹性搜索中,但无法在Kibana或localhost:9200中看到

时间:2019-02-26 08:51:36

标签: elasticsearch apache-camel kibana

我正在尝试使用Apache骆驼在弹性搜索中插入一些针对某些ID的数据。我已经插入了依赖项:

<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-elasticsearch</artifactId>
</dependency>

我正在使用JSONObject,如下所示:

{
"indexId" : "someId",
"messages" : {"message1" : "data1", "message2":"data2"}

}

然后使用:

插入数据
<to id="elastic_search_camel"
                uri="elasticsearch://local?operation=INDEX&amp;indexName=messages&amp;indexType=message" />

我还可以通过使用operation = GET_BY_ID将数据打印回到控制台上。但是我看不到Kibana或localhost:9200中的索引/数据。

有人可以帮我吗? 预先感谢。

2 个答案:

答案 0 :(得分:1)

您需要检查索引是否存在-可以运行

  

获取es-url:9200 / _cat / indices / messages *

,并确保索引存在。如果索引不存在,则索引存在问题-您需要预先创建索引,或者在弹性搜索和骆驼生成器中寻找导致索引失败的例外。

确保按预期方式在ES中对数据建立索引后,可以进入kibana->设置->索引模式,并为这些新的索引模式添加索引模式。之后,您将可以在kibana中查看数据

答案 1 :(得分:0)

我正在使用apache Camel连接到ElasticSearch服务器。骆驼创建了自己的elasticsearch集群,因此它没有连接到我目前运行的服务器。要停止这种特定行为,您需要在创建uri时明确指定IP和端口:

<to id="elastic_search_camel"
                uri="elasticsearch://<clusterName>?operation=INDEX&amp;indexName=messages&amp;indexType=doc&amp;ip=x.x.x.x&amp;port=9300" />

注意:参数transportAddresses也可以用于指定ip:port格式的列表。请查看http://camel.apache.org/elasticsearch.html,以了解有关详情。

在config / elasticsearch.yml文件中指定相同的内容:

http.port: 9200
network.host: x.x.x.x
cluster.name: <clusterName>
network.bind_host: 0

maven中的依赖项:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-elasticsearch</artifactId>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>4.1.0</version>
</dependency>

在弹性搜索选项中,也可以使用elasticsearch-rest。 可以将路线指定为:

<to id="elastic_search_camel"
            uri="elasticsearch-rest://<clusterName>?operation=INDEX&amp;indexName=messages&amp;indexType=doc&amp;hostAddresses=x.x.x.x:9200" />

可通过以下网址获取文档:Elastic Search Rest

Maven dependencies : 
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-elasticsearch-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-elasticsearch-rest-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>4.1.0</version>
        </dependency>