SSM11-solr服务的搭建

1.  Solr服务搭建

1.1. Solr的环境

Solr是java开发。java

须要安装jdk。web

安装环境Linux。apache

须要安装Tomcat。windows

1.2. 搭建步骤

第一步:把solr 的压缩包上传到Linux系统tomcat

第二步:解压solr。复制solr.jar包到tomcat/webapps下app

cp solr-4.10.3.war /usr/local/solr-cloud/tomcat-01/webapps/solr.warwebapp

 

第三步:安装Tomcat,解压缩便可。单元测试

第四步:把solr部署到Tomcat下。测试

第五步:解压缩war包。启动Tomcat解压。url

 

第六步:把/usr/local/solr-cloud/solr-4.10.3/example/lib/ext目录下的全部的jar包,添加到solr工程中。(启动须要的日志文件)

[root@localhost ext]# pwd

/root/solr-4.10.3/example/lib/ext

[root@localhost ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

 

 

第七步:建立一个solrhome。/example/solr目录就是一个solrhome。复制此目录到/usr/local/solr/solrhome

[root@localhost example]# pwd

/root/solr-4.10.3/example

[root@localhost example]# cp -r solr /usr/local/solr/solrhome

[root@localhost example]#

 

 

第八步:关联solr及solrhome。须要修改solr工程的web.xml文件。

 

第九步:启动Tomcat

http://192.168.254.130:8080/solr/

和windows下的配置彻底同样。

 

 

 

2.1. 配置业务域

schema.xml中定义

一、商品Id

二、商品标题

三、商品卖点

四、商品价格

五、商品图片

六、分类名称

                 

建立对应的业务域。须要制定中文分析器。

 

建立步骤:

第一步:把中文分析器添加到工程中。

一、把IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下

 

二、把扩展词典、配置文件放到solr工程的WEB-INF/classes目录下。

# mkdir /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes

 

# cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes

 

第二步:配置一个FieldType,制定使用IKAnalyzer

修改schema.xml文件

 

修改Solr的schema.xml文件,添加FieldType:

<fieldType name="text_ik" class="solr.TextField">

  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

第三步:配置业务域,type制定使用自定义的FieldType。

设置业务系统Field

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>

<field name="item_price"  type="long" indexed="true" stored="true"/>

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category_name" type="string" indexed="true" stored="true" />

 

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_sell_point" dest="item_keywords"/>

<copyField source="item_category_name" dest="item_keywords"/>

第四步:重启tomcat

 

 

本地访问

 

 

solr单元测试

1.新建solr索引对象

SerachItem

    private String id; private String title; private String sell_point; private long price; private String image; private String category_name;

 

2.测试solr

public class SerachTest { /** * 添加文档 * * @throws SolrServerException * @throws IOException */ @Test public void addDocument() throws SolrServerException, IOException { // 建立一个solrService对象,建立一个链接。参数为solr服务的url
        HttpSolrServer httpSolrServer = new HttpSolrServer("http://192.168.254.130:8080/solr/collection1"); // 建立一个文档的对象SolrInputDocument
        SolrInputDocument document = new SolrInputDocument(); // 向文档对象中添加域。文档中必须包含一个id域,全部域必须在s'chema.xml中定义
        document.addField("id", "doc01"); document.addField("item_title", "测试01"); // 把文档写入索引库
 httpSolrServer.add(document); // 提交
 httpSolrServer.commit(); } /** * 删除文档 */
    public void deleteDocument() throws Exception { // 建立一个solrservice对象。链接solr
        HttpSolrServer httpSolrServer = new HttpSolrServer("http://192.168.254.130:8080/solr/collection1"); // 删除文档
        httpSolrServer.deleteById("doc01"); // 提交
 httpSolrServer.commit(); } }

 添加操做

相关文章
相关标签/搜索