2014-05-16 2 views

Répondre

0

Pour utiliser le match toutes les requêtes Java api ..

QueryBuilder qb = QueryBuilders.matchAllQuery(); 

Reportez-vous http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/query-dsl-queries.html

J'ai créé un référentiel hub git .. Reportez-vous pour utiliser le client java. https://github.com/sidharthancr/elasticsearch-java-client.

HOpe ça aide ..!

+0

Je ne veux pas tout le champ. Je veux juste un résultat pour un seul champ. – bunny

+0

si vous référez le référentiel github vous obtiendrez l'idée que je projette un champ .. – BlackPOP

+1

Merci. J'ai eu ça. J'utilisais la méthode hit.getSource() au lieu de hit.getFields() .. Merci encore .. – bunny

0

Si vous avez une question déjà, tout ce que vous devez faire est quelque chose comme ceci:

SearchRequest sr = new SearchRequest("your_index"); 
sr.source("{\"fields\": [\"name\"],\"query\": { \"match_all\": {} }}"); 
ActionFuture<SearchResponse> res = client.search(sr); 
SearchHits hits = res.get().getHits(); 

Vous pouvez également consulter SearchRequestBuilder pour aider Construire les demandes, mais pour moi, il est plus facile de construire la requête ailleurs, puis de le brancher comme ça.

Si vous ne savez pas comment connecter un java client, voir http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/client.html

+0

Merci. mais comment analyser le résultat? J'ai essayé SearchHitField résultat = hit.getSource(); out.println (résultat); mais son impression est nulle. comment obtenir la valeur? – bunny

Questions connexes