首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Solr跟ssh的整合

2013-08-16 
Solr和ssh的整合?solr介绍:??Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了

Solr和ssh的整合

?solr介绍:?

?

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。?

?

?

solr和ssh的整合:

?

一、solr和tomcat的整合

?

1、建立G:\lucene\solr\home目录,把G:\apache-solr-3.6.2\example\solr里面的所有文件拷贝到home下,并新建data文件夹,将webapps下的war解压到G:\lucene\solr\server下

?

?

2、配置home/conf/ solrconfig.xml中data的路径:<dataDir>${solr.data.dir:G:\lucene\solr\home\data}</dataDir>?

?

?

3、设置tomcat的上下文:

<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">            <Context path="/solr" docBase="G:\lucene\solr\server" reloadable="false">                     <Environment name="solr/home" type="java.lang.String" value="G:\lucene\solr\home" override="true"/>                     </Context>

??

4、启动tomcat,进入http://localhost:8080/solr/admin/

?

?

5、打开home/conf/ schema.xml,发现有很多默认的fieldType,在我tomcat的solr中,点击Analysis进入分词,Field选择type后输入他默认的一个fieldType,分词如下:?

?Solr跟ssh的整合

??

6、使用我们自己的中文分词mmseg4j,将mmseg4j-1.8.5中的mmseg4j-all-1.8.5.jar、mmseg4j-solr-1.8.5.jar拷贝到G:\lucene\solr\server\WEB-INF\lib中,不是项目中。?

?

7、打开README.txt,复制mmseg4j其中的fileTyppe到schema.xml中,并复制mmseg4j中data下的文件到home下的dic目录中,都修改成dic

Solr跟ssh的整合

?

二、把solr添加到项目中

?

1、添加如下jar,在apache-solr-3.6.2\dist\solrj-lib下?

?Solr跟ssh的整合

?

2、新建测试类Test?

@Testpublic void test2(){//1、创建solrServer对象CommonsHttpSolrServer try {CommonsHttpSolrServer server=new CommonsHttpSolrServer(solrServerUrl);server.deleteByQuery("*:*");server.commit();} catch (Exception e) {e.printStackTrace();}}

?

?

2.2、添加索引@Testpublic void test1(){//1、创建solrServer对象CommonsHttpSolrServer try {CommonsHttpSolrServer server=new CommonsHttpSolrServer(solrServerUrl);SolrInputDocument doc=new SolrInputDocument();doc.addField("id", "1");//id是唯一的主键,当相同的id添加后面的覆盖前面的doc.addField("title", "这是我第一个solrj程序,累");//最好在schema.xml将tile改为自己的field,如msg_titledoc.addField("content", "我不爱学习爱睡觉");server.add(doc);server.commit();} catch (Exception e) {e.printStackTrace();}}

?

?

注意:出现BadRequest时,看看schema.xml中是否有合适的field

?

?

?

?

?

?

?

?

?

?

热点排行