Solr示例
import java.util.*;import org.apache.solr.client.solrj.*;
import org.apache.solr.client.solrj.impl.*;
import org.apache.solr.client.solrj.response.*;
import org.apache.solr.common.*;
public> public static void main(String[] args)throws Exception{
String url = "http://localhost:8983/solr";
SolrServer server = new CommonsHttpSolrServer(url);
server.deleteByQuery( "*:*" );
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField( "id", "book1" );
doc1.addField( "name", "倚天屠龙记");
doc1.addField( "price", 29 );
SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField( "id", "book2" );
doc2.addField( "name", "神雕侠侣" );
doc2.addField( "price", 20 );
SolrInputDocument doc3 = new SolrInputDocument();
doc3.addField( "id", "book3");
doc3.addField( "name", "天龙八部");
doc3.addField( "price", 33.8 );
SolrInputDocument doc4 = new SolrInputDocument();
doc4.addField( "id", "book4" );
doc4.addField( "name", "射雕英雄传");
doc4.addField( "price", 25.5 );
List docs = newArrayList();
docs.add(doc1);
docs.add(doc2);
docs.add(doc3);
docs.add(doc4);
server.add(docs);
server.commit();
SolrQuery query = new SolrQuery();
query.setQuery( "name:天" );
query.setStart(0);
query.setRows(5);
query.addSortField( "price", SolrQuery.ORDER.desc );
query.setHighlight(true);
query.addHighlightField("name");
query.setHighlightSimplePre("");
query.setHighlightSimplePost("");
query.set("hl.usePhraseHighlighter",true);
query.set("hl.highlightMultiTerm",true);
query.set("hl.snippets",3);
query.set("hl.fragsize", 5);
QueryResponse rsp = server.query( query );
System.out.println(rsp);
SolrDocumentList docsList = rsp.getResults();
//获取高亮结果
Map hl = rsp.getHighlighting();
for(Iterator doc =docsList.iterator();doc.hasNext();){
SolrDocument d = doc.next();
System.out.print(d.getFieldValue("id")+":");
System.out.println(d.getFieldValue("name"));
}
}
}
页:
[1]