提醒:solr4.9和4.8是不支持jdk6的,需要jdk7,因为公司使用的是jdk6,所以我下载的是solr4.7.2版本,下载地址:http://mirror.bit.edu.cn/apache/lucene/solr/ 选择4.7.2就可以了
分词下载的是IK Analyzer 2012FF_hf1,里面有非常丰富的文档来供应lucene和solr
安装十分简单,地址:http://my.oschina.net/qige/blog/174410 看这个及可以了。
修改配置文件:
vi solrConfig.xml 找到文件下面的内容,修改成正确的路径
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
再在solrConfig.xml文件中修改以下内容,找到/update/extract,修改节点:
<requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults"> <str name="fmap.content">context</str> <str name="uprefix">ignored_</str> <!-- capture link hrefs but ignore div attributes --> <str name="captureAttr">true</str> <str name="fmap.a">links</str> <str name="fmap.div">ignored_</str> </lst> <lst name="date.formats"> <str>yyyy-MM-dd</str> </lst> </requestHandler>
保存修改结果
5.修改schema.xml文件
vi schema.xml文件 注释许多没用的内容,添加下面内容
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="text_ik" indexed="true" stored="true"/>
<field name="context" type="text_ik" indexed="true" stored="false" multiValued="true"/>
text_ik为我新添加的ik分词
6.添加索引
String contentType = "application/word;charset=utf-8";
ContentStreamUpdateRequest cs = new ContentStreamUpdateRequest(
"/update/extract");
cs.addFile(file, contentType);//添加文件、word、pdf等等,使用apache Tika做数据抽取
String key = null;
String value = null;
for (Map.Entry<String, String> entry:params.entrySet()){
key = entry.getKey();//field的name
value = entry.getValue();
cs.setParam(key, value);
}
cs.setParam("uprefix", "attr_");
cs.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
server.request(cs);
这样索引就添加完了,可以使用solr应用来查看索引结构,查询跟平常的查询差不多。