Solr4.X的安装和使用

一 、官网下载 solr 的版本  :http://lucene.apache.org/solr/

二、   Solr安装:

1、解压solr-4.10.2.zip

2、将 solr-4.10.2/example/webapps/solr.war 拷贝到Tomcat的webapps目录下(如D:\apache-tomcat-7.0.57\webapps),重新启动Tomcat 并访问http://localhost:8080/(目的是解压solr.war),然后你会发现solr-4.10.2/example/webapps/下多了一个Solr的目录。

3、在D:\apache-tomcat-7.0.57\webapps\solr创建solr_home目录:

4、修改D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\web.xml 添加如下配置(apache-tomcat-7.0.56/webapps/solr/WEB-INF/web.xml)

配置solr home的地址:


5、复制solr-4.10.2的solr-4.10.2/example/solr/ 所有内容copy到solr_home


6、复制solr-4.10.2的solr-4.10.2/example/lib/ext目录下所有文件


到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/lib

7、复制solr-4.10.2的example/resources目录下的log4j.properties文件到Tomcat的lib下;

启动Tomcat。

访问:http://localhost:8080/solr进入到管理界面

三、 JAVA工程中如何应用Solr.

1.导入jar包

在eclipse中导入Solr文件夹中dist目录下solr-solrj.jar, solr-core.jar, slf4-nop.jar , commons-logging.jar包。没有的在网上下载。同时导入dist/solr-lib下的所有jar包。

2 . solr添加索引注意事项:

向solr对象中用add方法提交SolrInputDocument速度比较慢,所以尽量一次提交SolrInputDocument 链表。如:

String url = "http://localhost:8080/solr";

SolrServer  server = new HttpSolrServer(url);

SolrInputDocument doc = null;

List docs = new ArrayList();

for(int i=0;i<10;i++){

   doc = new SolrInputDocument();

   doc.addField("id", index);

   doc.addField("title_ss", title);

   doc.addField("article_ss", article);

   docs.add(doc);

}

server.add(docs);

server.commit();

注:doc中加入的字段在\solr\solr_home\collection1\conf\schema.xml中field标签里面如:

还可以自定义动态标签,dynamicField。

如上面的例子就是用的动态标签。

3.solr查询

HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr");

SolrQuery query = new SolrQuery();

str += "title_ss:"+"*"+key+"*" +" OR " +"article_ss:"+"*"+key+"*";  //多字段查询,“*”表示任意匹配

query.setQuery(str);

query.setRows(10000);//限制查询出的数据量

QueryResponse response = solr.query(query);

SolrDocumentList results = response.getResults();

for(int i=0; i<results.size(); i++)

        System.out.println(results.get(i).getFieldValue("title_ss"));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值