Учебники

Apache Solr — получение данных

В этой главе мы обсудим, как получить данные с помощью Java Client API. Предположим, у нас есть документ .csv с именем sample.csv со следующим содержимым.

001,9848022337,Hyderabad,Rajiv,Reddy  
002,9848022338,Kolkata,Siddarth,Battacharya 
003,9848022339,Delhi,Rajesh,Khanna

Вы можете проиндексировать эти данные в ядре с именем sample_Solr, используя команду post .

[Hadoop@localhost bin]$ ./post -c Solr_sample sample.csv

Ниже приведена Java-программа для добавления документов в индекс Apache Solr. Сохраните этот код в файле с именем RetrievingData.java .

import java.io.IOException;  

import org.apache.Solr.client.Solrj.SolrClient; 
import org.apache.Solr.client.Solrj.SolrQuery; 
import org.apache.Solr.client.Solrj.SolrServerException; 
import org.apache.Solr.client.Solrj.impl.HttpSolrClient; 
import org.apache.Solr.client.Solrj.response.QueryResponse; 
import org.apache.Solr.common.SolrDocumentList;  

public class RetrievingData { 
   public static void main(String args[]) throws SolrServerException, IOException  { 
      //Preparing the Solr client 
      String urlString = "http://localhost:8983/Solr/my_core"; 
      SolrClient Solr = new HttpSolrClient.Builder(urlString).build();  
      
      //Preparing Solr query 
      SolrQuery query = new SolrQuery();  
      query.setQuery("*:*");  
   
      //Adding the field to be retrieved 
      query.addField("*");  
   
      //Executing the query 
      QueryResponse queryResponse = Solr.query(query);  
   
      //Storing the results of the query 
      SolrDocumentList docs = queryResponse.getResults();    
      System.out.println(docs); 
      System.out.println(docs.get(0)); 
      System.out.println(docs.get(1)); 
      System.out.println(docs.get(2));   
         
      //Saving the operations 
      Solr.commit();         
   } 
}

Скомпилируйте приведенный выше код, выполнив следующие команды в терминале:

[Hadoop@localhost bin]$ javac RetrievingData 
[Hadoop@localhost bin]$ java RetrievingData

Выполнив вышеуказанную команду, вы получите следующий вывод.