zoukankan      html  css  js  c++  java
  • 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();
        }
    
    }

     添加操作

  • 相关阅读:
    Swift语言指南(三)--语言基础之整数和浮点数
    Swift语言指南(二)--语言基础之注释和分号
    Swift语言指南(一)--语言基础之常量和变量
    Swift中文教程(七)--协议,扩展和泛型
    Swift中文教程(六)--枚举和结构
    Swift中文教程(五)--对象和类
    Swift中文教程(四)--函数与闭包
    集合
    java中的集合
    java中集合的使用
  • 原文地址:https://www.cnblogs.com/asndxj/p/11016503.html
Copyright © 2011-2022 走看看