欢迎投稿

今日深度:

Solr,

Solr,


Spring-Data-Solr启动器

  • 依赖
  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-solr</artifactId>
  </dependency>
  • application.yml
spring:
  data:
    solr:
      host: http://ip:8983/solr/索引库名
  • 注入
@Autowired
SolrClient solrClient;
  • 添加修改文档
solrClient.addBean(Pojo)
solrClient.addBeans(List<Pojo>)
solrClient.commit()
  • 删除
solrClient.deleteById("id")
solrClient.deleteById(List<String> id)
solrClient.deleteByQuery("域名: 值")
solrClient.commit()
  • 通过id查询
SolrDocument solrDocument = solrClient.getById("id");
// 直接获取域值
solrDocument.get("域名")
// 获取key为域名,value为域值的Map
Map<String, Object> fieldValueMap = solrDocument .getFieldValueMap();

  • 通过查询条件查
SolrQuery solrQuery = new SolrQuery();
// 添加查询条件
solrQuery.add("q","域名: 值");
// 添加子查询条件
solrQuery.add("fq","域名: 值");
//排序
solrQuery.setSort("域名", SolrQuery.ORDER.desc);
//分页
solrQuery.setStart(第几条开始);
solrQuery.setRows(每页几条);
// 结果域
solrQuery.add("fl","域名, 域名");
//高亮
solrQuery.setHighlight(true);
solrQuery.addHighlightField("域名");
solrQuery.setHighlightSimplePre("<span color='red'>");
solrQuery.setHighlightSimplePost("</span>");

// 执行查询
QueryResponse queryResponse = solrClient.query(solrQuery);
     
// 得到结果集
SolrDocumentList solrDocumentList = queryResponse.getResults();
// 得到高亮结果集
Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting();
 

www.htsjk.Com true http://www.htsjk.com/solr/31257.html NewsArticle Solr, Spring-Data-Solr启动器 依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-solr/artifactId /dependency application.yml spring: data: solr: host: http://ip:8983/solr/索引库名 注入 @Au...
相关文章
    暂无相关文章
评论暂时关闭