Solr的HelloWorld,
package com.my.solr;import java.io.IOException;
import java.util.List;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;
import com.my.entity.Message;
public class TestSolr {
private final static String URL = "http://localhost:8080/solr/core-c";
@Test
public void test01(){
HttpSolrServer server = new HttpSolrServer(URL);
System.out.println("Start...");
try {
System.out.println("first...");
// server.deleteByQuery("*:*");
// System.out.println("索引已被删除");
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "1");
doc.addField("msg_title", "这是我的第一个solrj程序!!!");
doc.addField("msg_content", "这是我的第一个solrj程序!!!");
// doc.addField("msg_title", "This is my first solr project!!!");
// doc.addField("msg_content", "This is my first solr project");
server.add(doc);
server.commit();
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void test02() throws SolrServerException{
HttpSolrServer server = new HttpSolrServer(URL);
SolrQuery query = new SolrQuery("*");
query.setStart(0);
query.setRows(3);
QueryResponse resp = server.query(query);
SolrDocumentList sdl = resp.getResults();
System.out.println(sdl.getNumFound());
for(SolrDocument sd:sdl){
String id = (String)sd.getFieldValue("id");
String add = (String) sd.getFieldValue("address_s");
String com = (String) sd.getFieldValue("compName_s");
String title = (String) sd.getFieldValue("msg_title");
System.out.println("id: "+id+" address: "+add+" compName: "+com);
System.out.println("title: "+title);
}
}
@Test
public void test03(){
HttpSolrServer server = new HttpSolrServer(URL);
try {
SolrQuery query = new SolrQuery("msg_title:solrj");
System.out.println("查询成功!");
query.setStart(0);
query.setRows(3);
QueryResponse resp;
resp = server.query(query);
//直接调用bean对象
List<Message> list= resp.getBeans(Message.class);
System.out.println(list.size());
for(Message msg:list){
System.out.println(msg.getTitle());
}
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void test04() throws SolrServerException{
HttpSolrServer server = new HttpSolrServer(URL);
SolrQuery query = new SolrQuery("msg_title:我的");
query.setHighlight(true).setHighlightSimplePre("<span class='highlighter'>")
.setHighlightSimplePost("</span>")
.setStart(0).setRows(5);
query.setParam("hl.fl", "msg_title,msg_content");
QueryResponse resp = server.query(query);
SolrDocumentList sdl = resp.getResults();
System.out.println(sdl.getNumFound());
for(SolrDocument sd:sdl){
String id =(String)sd.getFieldValue("id");
System.out.println(resp.getHighlighting().get(id).get("msg_content"));
}
}
}
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。