*Hello* *The code which worked for me:*
SolrClient client = new HttpSolrClient.Builder(" http://localhost:8983/solr/shakespeare").build(); SolrQuery query = new SolrQuery(); query.setRequestHandler("/select"); query.setQuery("text_entry:henry"); query.setFields("text_entry"); QueryResponse queryResponse = null; try { queryResponse = client.query(query); } catch (Exception e) { } System.out.println("Query Response: " +queryResponse.toString()); if (queryResponse!=null && queryResponse.getResponse().size()>0) { SolrDocumentList results = queryResponse.getResults(); for (int i = 0; i < results.size(); ++i) { SolrDocument document = results.get(i); System.out.println("The result is: " +results.get(i)); System.out.println("The Document field names are: " +document.getFieldNames()); } } *The data:* {"index":{"_index":"shakespeare","_id":0}} {"type":"act","line_id":1,"play_name":"Henry IV", "speech_number":"","line_number":"","speaker":"","text_entry":"ACT I"} {"index":{"_index":"shakespeare","_id":1}} {"type":"scene","line_id":2,"play_name":"Henry IV","speech_number":"","line_number":"","speaker":"","text_entry":"SCENE I. London. The palace."} *Deepak* <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Virus-free. www.avg.com <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> Deepak "Please stop cruelty to Animals, help by becoming a Vegan" +91 73500 12833 deic...@gmail.com Facebook: https://www.facebook.com/deicool LinkedIn: www.linkedin.com/in/deicool "Plant a Tree, Go Green" On Tue, Jan 9, 2018 at 8:09 PM, Shawn Heisey <apa...@elyograg.org> wrote: > On 1/8/2018 10:23 AM, Deepak Goel wrote: > > *I am trying to search for documents in my collection (Shakespeare). The > > code is as follows:* > > > > SolrClient client = new HttpSolrClient.Builder(" > > http://localhost:8983/solr/shakespeare").build(); > > > > SolrDocument doc = client.getById("2"); > > *However this does not return any document. What mistake am I making?* > > The getById method accesses the handler named "/get", normally defined > with the RealTimeGetHandler class. In recent Solr versions, the /get > handler is defined implicitly and does not have to be configured, but in > older versions (not sure which ones) you do need to have it in > solrconfig.xml. > > I didn't expect your code to work because getById method returns a > SolrDocumentList and you have SolrDocument, but apparently this actually > does work. I have tried code very similar to yours against the > techproducts example in version 7.1, and it works perfectly. I will > share the exact code I tried and what results I got below. > > What code have you tried after the code you've shared? How are you > determining that no document is returned? Are there any error messages > logged by the client code or Solr? If there are, can you share them? > > Do you have a document in the shakespeare index that has the value "2" > in whatever field is the uniqueKey? Does the schema have a uniqueKey > defined? > > Can you find the entry in solr.log that logs the query and share that > entire log entry? > > Code: > > public static void main(String[] args) throws SolrServerException, > IOException > { > String baseUrl = "http://localhost:8983/solr/techproducts"; > SolrClient client = new HttpSolrClient.Builder(baseUrl).build(); > SolrDocument doc = client.getById("SP2514N"); > System.out.println(doc.getFieldValue("name")); > } > > Console log from that code: > > SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". > SLF4J: Defaulting to no-operation (NOP) logger implementation > SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for > further details. > Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133 > > > Including the collection/core name in the URL is an older way of writing > SolrJ code. It works well, but multiple collections can be accessed > through one client object if you change it and your SolrJ version is new > enough. > > Thanks, > Shawn > >