SSM11-solr服务的搭建

1.  Solr服务搭建

1.1. Solr的环境

Solr是java开发。

需要安装jdk。

安装环境Linux。

需要安装Tomcat。

1.2. 搭建步骤

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

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

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

第三步:安装Tomcat,解压缩即可。

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

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

第六步:把/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中定义

1、商品Id

2、商品标题

3、商品卖点

4、商品价格

5、商品图片

6、分类名称

                 

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

创建步骤:

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

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

2、把扩展词典、配置文件放到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();
    }

}

 添加操作

原文地址:https://www.cnblogs.com/asndxj/p/11016503.html