Solr索引增删改查
/**
* solr索引的增删改查
*
* @author robbin
*
*/
public class SolrJDao {
@Test
public void addIndex() throws SolrServerException, IOException{
String solrurl = "http://localhost:8983/solr";
SolrServer solrServer = new HttpSolrServer(solrurl);
// SolrInputDocument document = new SolrInputDocument();
Product p = new Product();
p.setId(100);
p.setName("哪年夏天在海边");
p.setDesc("哪年夏天在海边");
p.setPrice(29);
solrServer.addBean(p);
solrServer.commit();
}
@Test
public void delIndex() throws SolrServerException, IOException{
String solrurl = "http://localhost:8983/solr";
SolrServer solrServer = new HttpSolrServer(solrurl);
solrServer.deleteById("1");
solrServer.commit();
}
@Test
public void updateIndex() throws IOException, SolrServerException{
String solrurl = "http://localhost:8983/solr";
SolrServer solrServer = new HttpSolrServer(solrurl);
Product p = new Product();
p.setId(2);
p.setName("哪年夏天在海边");
p.setDesc("1995年初夏.");
p.setPrice(29);
solrServer.addBean(p);
solrServer.commit();
}
@Test
public void queryIndex() throws SolrServerException{
String solrurl = "http://localhost:8983/solr";
SolrServer solrServer = new HttpSolrServer(solrurl);
SolrQuery params = new SolrQuery();
params.setQuery("name:哪年夏天");
params.setStart(0);
params.setRows(10);
params.setHighlight(true);
params.setHighlightSimplePre("<font color='red'>");
params.setHighlightSimplePost("</font>");
params.setParam("hl.fl", "name");
QueryResponse queryResponse = solrServer.query(params);
Map<String, Map<String, List<String>>> listMmap = queryResponse.getHighlighting();
Set<Entry<String, Map<String, List<String>>>> entrySet = listMmap.entrySet();
for (Entry<String, Map<String, List<String>>> entry : entrySet) {
String key = entry.getKey();
System.out.println("key==="+key);
Map<String, List<String>> value = entry.getValue();
Set<Entry<String, List<String>>> entrySet2 = value.entrySet();
for (Entry<String, List<String>> entry2 : entrySet2) {
String key2 = entry2.getKey();
System.out.println("key2==="+key2);
List<String> value2 = entry2.getValue();
for (String str : value2) {
System.out.println("str==="+str);
}
}
}
SolrDocumentList list = queryResponse.getResults();
for (SolrDocument solrDocument : list) {
System.out.println(solrDocument.get("id"));
System.out.println(solrDocument.get("name"));
System.out.println(solrDocument.get("description"));
System.out.println(solrDocument.get("price"));
}
}