Solr 检索数据

 

在本教程页面中,我们将讨论使用 Java 客户端 API 检索数据的方式。例如,我们有一个名为 sample.csv 的 .csv 文档,其中包含以下数据。

001, +148022337,

new

York, John 
002, +148022338, Hawaii, Emma 
003, +148022339, Florida, Sophia

我们现在可以使用 post 命令在名为 sample_Solr 的核心下索引这些数据。

[Hadoop@localhost bin]$ ./post-c Solr_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 the Solr query 
      SolrQuery query =

new

SolrQuery();  
      query.

setQuery

(

"*:*"

);  
   
      //Adding the field that has to be retrieved 
      query.

addField

(

"*"

);  
   
      //Executing query

for

data 
      QueryResponse queryResponse = Solr.

query

(query);  
   
      //Saving 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));   
         
      //storing the operations 
      Solr.

commit

();         
   } 
}

在终端执行以下命令编译并运行上述代码-

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

运行上面给出的命令,我们将得到以下结果。

{numFound = 3, start = 0, docs = [SolrDocument{id=001, phone = [+148022337], 
city = [California], first_name = [Olivia],
_version_ = 1547262806014820352}, SolrDocument { id = 002, phone = [+148022338], 
city = [Hawaii], first_name = [Emma],
_version_ = 1547262806026354688}, SolrDocument { id = 003, phone = [+148022339], 
city = [Florida], first_name = [Sophia],
_version_ = 1547262806029500416}]} SolrDocument {id = 004, phone = [+148022337], city = [Texas], first_name = [Emily], 
_version_ = 1547262806014820352}, SolrDocument { id = 002, phone = [+148022338], 
city = [Hawaii], first_name = [Emma],
_version_ = 1547262806026354688}, SolrDocument { id = 003, phone = [+148022339], 
city = [Florida], first_name = [Sophia],
_version_ = 1547262806029500416}

 Apache Solr 除了存储数据外,还提供查询数据的功能。 Solr 提供了一些参数,用户可以使用这些参数来查询其中存储的数据。在下表中,我们列出了 Apache Solr。参数说明q是Apache So ...