标签:update document div local response depend 动态 参数 for
Maven:
<dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>8.1.0</version> </dependency>
SolrClient是SolrJ的核心接口,所有的请求都要通过它发送Solr服务器,它负责处理与Solr的连接和通信。它的实现有:
创建SolrClient实例:
final String solrUrl = "http://localhost:8983/solr"; return new HttpSolrClient.Builder(solrUrl) .withConnectionTimeout(10000) .withSocketTimeout(60000) .build();
url指定了连接地址和端口号,也可以在连接地址中指明collection,那样的话在查询的时候就不用指明collection了。
SolrClient对象提供了多种query方法,每个方法都接受一个SolrParam参数,它其实是一个map结构。所有query方法都返回一个QueryResponse对象,通过它可以访问搜索结果文档和其他元数据。
下面是一个在techproducts搜索的例子。
final SolrClient client = getSolrClient(); final Map<String, String> queryParamMap = new HashMap<String, String>(); queryParamMap.put("q", "*:*"); queryParamMap.put("fl", "id, name"); queryParamMap.put("sort", "id asc"); MapSolrParams queryParams = new MapSolrParams(queryParamMap); final QueryResponse response = client.query("techproducts", queryParams); final SolrDocumentList documents = response.getResults(); print("Found " + documents.getNumFound() + " documents"); for(SolrDocument document : documents) { final String id = (String) document.getFirstValue("id"); final String name = (String) document.getFirstValue("name"); print("id: " + id + "; name: " + name); }
SolrParam有一个子类SolrQuery,它封装了Solr的查询参数,从而方便用户使用。
final SolrQuery query = new SolrQuery("*:*"); query.addField("id"); query.addField("name"); query.setSort("id", ORDER.asc); query.setRows(numResultsToReturn);
标签:update document div local response depend 动态 参数 for
原文地址:https://www.cnblogs.com/stronger-brother/p/12069885.html