接前两篇文章,更新了部分索引内容,当前索引如图
一、项目依赖
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>7.7.1</version>
</dependency>
二、简单实例
SolrController.java
@RestController
public class SolrController {
@Autowired
private SolrService solrService;
@GetMapping("/queryByTitle")
public SolrDocumentList queryByTitle(@RequestParam String title){
SolrDocumentList solrDocuments = solrService.queryByTitle(title);
for(SolrDocument solrDocument : solrDocuments){
System.out.println(solrDocument.getFirstValue("product_title"));
System.out.println(solrDocument.getFirstValue("product_sell_point"));
}
return solrDocuments;
}
}
SolrService.java
@Service
public class SolrService {
@Autowired
private SolrClient solrClient;
@Value("${solr-core-sell}")
protected String solrCoreSell;
public SolrDocumentList queryByTitle(String title){
SolrQuery params = new SolrQuery();
params.set("q",String.format("product_title:%s", ClientUtils.escapeQueryChars(title)));
params.setStart(0);
params.setRows(10);
return querySolr(params,solrCoreSell);
}
/**
* 执行solr查询
*/
private SolrDocumentList querySolr(SolrQuery solrQuery, String solrCore){
ModifiableSolrParams params = new ModifiableSolrParams();
params.add(solrQuery);
QueryResponse queryResponse = null;
try {
queryResponse = solrClient.query(solrCore,params);
} catch (Exception e) {
return null;
}
SolrDocumentList results = queryResponse.getResults();
return results;
}
}
application.yml
spring:
data:
solr:
host: http://localhost:8983/solr
solr-core-sell: zym
项目启动,Postman调用
http://localhost:8080/queryByTitle?title=新款
与Solr页面搜索结果一致如图:
至此,简单项目应用结束
文章仅作为个人学习整理