ElasticSearch索引和搜索无法正常工作

时间:2014-01-28 18:48:18

标签: java search indexing elasticsearch client

当我索引数据然后在一个线程(过程)中搜索数据时它可以工作。如果我索引并停止该过程,则仅运行搜索以查找索引数据,而不是命中。这个问题的原因是什么,或者我的错误客户端是什么?我是Elastic Search的新手,所以我找不到请帮助我的原因。

    org.elasticsearch.node.Node node = nodeBuilder().clusterName("farukest").node();
    Client client = node.client();

        String[] deneme = {keyword[0]}; // keyword fetched from database
        for (int i = 0; i < degerler.length; i++) {

            IndexResponse response = client.prepareIndex("Ali9".toLowerCase(),"Api",Integer.toString(i))
                    .setSource(jsonBuilder()
                            .startObject()
                            .field("Post Id", degerler[i][0].toString())
                            .field("Post Like Count", degerler[i][1].toString())
                            .field("Post Shares Count", degerler[i][2].toString())
                            .field("Post Comment Count", degerler[i][3].toString())
                            .field("Page Name",degerler[i][4].toString())
                            .field("Message", degerler[i][5].toString())
                            .endObject()
                    ).setRefresh(true)
                    .execute()
                    .actionGet();

       SearchResponse r = client.prepareSearch("Ali9".toLowerCase()) // Searching
                    .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                    .setQuery(termQuery("Message", "Fenerbahçelim".toLowerCase()))
                    .setFrom(0).setSize(60).setExplain(true)
                    .execute()
                    .actionGet();
                        System.out.println(r);
            SearchHit[] hits = r.getHits().getHits();
            System.out.println(hits.length);
            for (SearchHit searchHit : hits) {
            Map<String, Object> source = searchHit.getSource();
                for (Map.Entry<String,Object> values : source.entrySet()) {
                    System.out.println(values.getValue()+"  ...");
                }
            }  

如果我单独运行,结果为0数据。如果我在一个过程中运行它们就可以了。

0 个答案:

没有答案
相关问题