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();
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。