Hi,

I was using Jest client 0.0.5 for conecting and serching the ES indexes.
Not Elastic Search version was upgraded to 1.2, so I started seeing some 
issues.

I was adding Fields to the query and i could see that the fields that were 
returning me scalar started returning me Array.Previous version of ES was 
giving me correct outpout.

*Query:*
{
  "from" : 1,
  "size" : 3,
  "query" : {
    "bool" : {
      "must" : {
        "terms" : {
          "id" : [ "a10094", "a10087" ]
        }
      }
    }
  },
  "fields" : [ "account", "PN", "AcctNo" ]
}

*Previous Response:*

{
AcctNo=A100896151,
PN=1697951,
account=NINTERNATIONAL,
}

*Response After Elastic Search Upgrade:*

{
AcctNo=*[*
A100896151
*]*,
PN=*[*
1697951
*]*,
account=*[*
NINTERNATIONAL
*]*
}

I read the Documentation that we should use source instead of Fields in the 
query to get correct output.
So I upgraded my Jest client from io.searchbox.Jest 0.0.5-->0.1.1.

Below is the code how I create my Jest Client in java.

public static void searchES()
{
JestClient client=null;
HttpClientConfig clientConfig=null;
/*
 * Creating Config for JestClient
 */ 
String[] urls = VO.getUrl().split(",");
clientConfig = new 
HttpClientConfig.Builder(Arrays.asList(urls)).multiThreaded(true).build();
                /*
 * Creating JEST client instance for Factory
 */
JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(clientConfig); 
client = factory.getObject();

                String 
query="{\"from\":1,\"size\":3,\"query\":{\"bool\":{\"must\":{\"terms\":{\"id\":[\"a10094\",\"a10087\"]}}}},\"fields\":[\"account\",\"PN\",\"AcctNo\"]}";
                /*
                 * Creating SearchSourceBuilder
                 */
                SearchSourceBuilder searchSourceBuilder = new 
SearchSourceBuilder();
*searchSourceBuilder.fields(new String ["account", "PN", "AcctNo"] );*
                        searchSourceBuilder.query(query);
searchSourceBuilder.size(CPSConstants.ES_DATA_SIZE);

Search search = 
                      new 
Search.Builder(searchSourceBuilder.toString()).addIndex("esindex").build();
 //Call Elastic Search
JestResult response = client.execute(search);
 }

I dont know how to add* _source* to *Search* or *Client* in java code 
instead of Fields.

Please help.

Regards,
Mufaddal

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/05dd3548-3928-4cc0-af81-41f05adec94f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to