一 、官网下载 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"));
网友评论