2016-04-30 15 views
0

Javaでjsonオブジェクトを作成する方法を理解する上で問題があります。 私はelasticsearchからjavaを介して特定のデータを取得しなければなりません。また、関数であるjsonも持っていますが、関数を使用できるようにjsonを作成する方法はわかりません。Javaでelasticsearch関数を使ってjsonを作成します

SearchResponseクラスとその機能でこれを行うことはできますか? ありがとうございましたQueryBuilder助けてください?

これはクロームでセンスプラグインと連携して動作します。

GET _search 
{ 
"query": { 
    "constant_score": { 
     "filter": { 
      "and": { 
       "filters": [ 
        {"term": 
        {"_type":"budget"}      
        }, 
        {"term": 
        {"_index":"dbs_project"}      
        }, 
        {"term": 
        {"month":"x"}      
        }, 
        {"term": 
        {"account_id":"y"}      
        } 
       ] 
      } 
     }    
    } 
    } 
} 

答えて

1

QueryBuilderは間違いなくあなたのために働く必要があります。あなたがAPIを使用して必要のようなクエリを構築するには、このような何かをする必要があります。

QueryBuilder query = QueryBuilders.constantScoreQuery(FilterBuilders.andFilter(FilterBuilders.termFilter("_type", "budget"), 
       FilterBuilders.termFilter("_index", "dbs_project"), FilterBuilders.termFilter("month", "x"), 
       FilterBuilders.termFilter("account_id", "y"))); 

そして、あなたは、クエリを実行し、このような結果フェッチするSearchResponseを使用します。

SearchResponse response = client.prepareSearch(index).setTypes(type) 
       .setQuery(query).execute() 
       .actionGet(); 

clientTransportClientのインスタンスで、indextypeは、検索するelasticsearchインデックスとタイプに対応しています。

関連する問題