一、简介
参考地址
http://lucene.apache.org/solr/
http://martinyuan.iteye.com/blog/441743
http://www.blogjava.net/RongHao/archive/2007/11/06/158621.html
Solr是一个基于Lucene的Java搜索引擎服务器,Solr使用Lucene的搜索核心库来做全文检索,它的接口采用HTTP/XML和JSON APIs传输数据,只需简单配置即可使用,不用像lucene那样还有大量的封装接口,实现搜索和索引代码工作量,并且Solr 创建的索引与 Lucene 搜索引擎库完全兼容,即何时替换都可。
特性有以下几点:
Faceted Search:分面搜索,多维度
Text Analysis:文本解析
Highlighting:高亮
多种输出格式:html,xml,json,csv
数据库集成
具体参见solr演示的example,搜索支持多维度多条件的过滤查询
二、solr使用方式
在别的系统中使用solr,可采用的方式:
· 对大数据量的索引工作可采用csv方式处理
直接采用通过http方式调用solr的接口方式,效率较差,采用solr本身对csv 的支持(http://wiki.apache.org/solr/UpdateCSV),将数据导出为csv格式,然后调用solr的csv接口http://ip:port/solr/update/csv
· 更新索引数据
包含新增、更新、删除,都有对应的指令,需先将需要索引查询的数据组装成xml格式,然后使用httpclient 将数据提交到solr 的http接口,具体可参考solrdemo提供的post.jar中的SimplePostToolTool的实现。