Elasticsearch response without the field list

(victor) #1


I'm starting with elasticsearch, and use the instructions on how to access and create a java client. Marvel made a consultation with the next code:

GET consolidacion/store/_search
  "query": {
    "bool": {
      "must": [
          "match": {
            "data.package_field": "0.D.42.17"

and I get

   "took": 8,
   "timed_out": false,
   "_shards": {
      "total": 10,
      "successful": 10,
      "failed": 0
   "hits": {
      "total": 1,
      "max_score": 9.14017,
      "hits": [
            "_index": "consolidacion",
            "_type": "store",
            "_id": "ee24f357c51456ebb84be4897c128bc4",
            "_score": 9.14017,
            "_source": {
               "transaction_uuid": "33fdfa63-f4be-8a27-52f5-d247871a4d71",
               "order": 7,
               "hash": "ee24f357c51456ebb84be4897c128bc4",
               "application_uuid": "477e9531-0a22-4da2-8777-27c7be176ebc",
               "repository_uuid": "275f7132-d82f-11e4-8188-000c29cd",
               "user": null,
               "data": {
                  "package_field": "0.D.42.17",
                  "package": "0.D.42",
                  "nro_registro": 0,
                  "value": "BERTULFO",
                  "package_field_key": "0.D.42.26",
                  "package_field_key_value": "415400"
               "log_date": "2015-06-30T16:27:09-05:00",
               "organization_uuid": "bb0561c3-d911-11e4-8188-000c29cd54dc",
               "provider": "191100000501",
               "person_identifiers": [
                     "identifier": "bec8ea50-1f6e-11e5-9254-000c29ea4ee7",
                     "domain_name": "ECID"
                     "identifier": "415400",
                     "domain_name": "CODPERSON:275f7132-d82f-11e4-8188-000c29cd"

Java I have the following.

Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "sitis").put("node.name", "sitis-n1").build();
Client esclient =  new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("", 9300));

We perform validation checking index, and passes without problem.

final IndicesExistsResponse res = esclient.admin().indices().prepareExists(indexName).execute().actionGet();

Then I pass the query, and see if I return the ID, but does not give me fields and I do not understand why it happens this

String keyField="data.package_field";
String keyValue="0.D.42.17";
String queryString="{\"query\": {\"bool\": {\"must\": [ {\"match\": {\""+keyField+"\": \""+keyValue+"\" } } ] } } }";

 //Sample Query - JSONObject
 //We convert the raw query string to JSONObject to avoid query parser error in Elasticsearch
  JSONObject queryStringObject = new JSONObject(queryString);

        //Elasticsearch Response
SearchResponse response = esclient.prepareSearch(indexName).setTypes(typeName).setSource(queryStringObject.toString()).execute().actionGet();

//Elasticsearch Response Hits
SearchHits hits = response.getHits();

This pom dependencies

		<!-- add the Shield jar as a dependency -->
		<!-- add the License jar as a dependency -->

		<!-- add the elasticsearch repo -->

Any idea? and thanks for your valuable collaboration.

(Shaunak Kashyap) #2

This post seems better suited for the Elasticsearch category. Relocating it now.

(system) #3