您的位置:首页 > 理论基础 > 计算机网络

sole单机模式配置HttpSolrServer

2016-06-10 21:53 399 查看
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.noggit</groupId>
<artifactId>noggit</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.3.3</version>
</dependency>

可以通过xml或者直接示例化HttpSolrServer 使用:

如果xml配置的话,需要这样写:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> 
<!-- 配置SolrServer对象 -->
<!-- 单机版 -->
<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
<constructor-arg name="baseURL" value="${SOLR.SERVER.URL}"></constructor-arg>
</bean>
<!-- 集群版 -->
<!--<bean id="cloudSolrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer">
<constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg>
<property name="defaultCollection" value="collection2"></property>
</bean>-->
</beans>


读写索引操作

import java.io.IOException;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;

public class SolrIndexDemo {
public static void main(String[] args) throws SolrServerException, IOException {
HttpSolrServer server=new HttpSolrServer("http://192.168.125.129:8080/solr");
for(int i=0;i<100;i++){
SolrInputDocument doc=new SolrInputDocument();
doc.addField("id", i);
doc.addField("name","张三"+i);
server.add(doc);
if(i%10==0){
server.commit();
}
}
server.commit();
System.out.println("设置成功");
}
}
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.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;

public class SolrQueryDemo {
private HttpSolrServer solr;
public SolrQueryDemo(){
solr=new HttpSolrServer("http://192.168.125.129:8080/solr");//sor地址
}
public static void main(String[] args) throws SolrServerException {
SolrQueryDemo demo=new SolrQueryDemo();
demo.query01("name:张三");
}
public void query01(String queryString) throws SolrServerException{
ModifiableSolrParams params=new ModifiableSolrParams();
params.set("q", queryString);
//		params.set("defType", "edismax");
params.set("start", "0");
params.add("rows", "100");
QueryResponse response = solr.query(params);
SolrDocumentList results = response.getResults();
System.out.println("query01查到结果数量为:"+results.size());
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
public void query02(String queryString) {
SolrQuery query = new SolrQuery();
query.setQuery(queryString);
query.setStart(0);
query.setRows(100);
QueryResponse rsp;
try {
rsp = solr.query(query);
SolrDocumentList results = rsp.getResults();
System.out.println("query02查到结果数量为:"+results.size());
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
} catch (SolrServerException e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: