美文网首页
17- Solr部署和使用

17- Solr部署和使用

作者: 熙熙爸爸 | 来源:发表于2017-09-15 14:36 被阅读0次

    部署solr通常有2中方式,一个是部署在外部的web容器中例如tomcat,另一个是使用solr内置的jetty作为web容器。
    我们这里采用内置的jetty作为web容器的部署方式。

    1.下载solr

    下载solr
    本次使用的solr版本是6.6.0
    下载之后找到合适的位置解压

    2. 启动solr

    在打开cmd窗口进入solr的解压目录下的bin文件夹执行

    solr start -p 8983
    
    启动solr

    这时我们就可以在浏览器访问solr的管理界面

    solr管理界面

    3. 创建core

    • 方法一
      通过查看solr根目录下的README文件了解到可以使用
    solr create -c name
    

    来创建core

    创建core

    根据上面命令的反馈可以得到一些有用的信息

    1. 每个core需要有一个 core instance directory
    2. 可以使用solr的rest 接口来实现core的创建

    这时候我们刷新下一管理界面就可以看到


    创建成功
    • 方法二
      使用solr管理页面 创建
    1. 在solr.home 目录下创建一个文件夹,和core的名称相同


      查看solr.home

    这里我们创建core3

    创建core3

    2.拷贝配置文件到core3中
    上图中的configsets文件中存放的是基本的配置文件
    我们把configsets中的basic_configs下的conf拷贝到core3中

    image.png

    然后在core3中新建文件夹data,作为索引数据的存放文件

    core3
    1. 创建core
      在solr管理页面中点击core admin 下的 add core,修改name 和instanceDir为core3,然后点击add core
    image.png
    1. 创建完成
      点击完成之后 core admin中就会多了一个core3


      创建完成

    core3的文件夹下面也多出了额一个core.properties文件

    core.properties

    内容是

    #Written by CorePropertiesLocator
    #Fri Sep 15 03:34:37 UTC 2017
    name=core3
    config=solrconfig.xml
    schema=schema.xml
    dataDir=data
    
    • 方法三
      通过方法一种的命令反馈我们知道,也可是使用solr的rest 接口来完成core的创建

    首先完成方法二的前两步,给core取名为core4

    1. 请求solr rest接口
    http://localhost:8983/solr/admin/cores?action=CREATE&name=core4&instanceDir=core4
    
    请求结果
    1. 创建成功
    成功

    4. 导入数据

    solr中负责导入数据的模块叫做DataImportHandler,它有多种实现方式

    • 从数据库导入
      solr支持多中形式的数据导入,其中最常用的就是从数据库导入数据
      我们可以从solr自带的/example/example-DIH/solr/db/conf中找到从数据库导入数据的相关配置作为参考,然后修改core1内的配置
    1. 修改solrconfig.xml
      添加如下配置
    <requestHandler name="/dataimport" class="solr.DataImportHandler">
        <lst name="defaults">
          <str name="config">db-data-config.xml</str>
        </lst>
      </requestHandler>
    
    1. 从example中拷贝db-data-config.xml到core1,并根据数据库的使用情况进行修改,我这里使用的是mysql
    <dataConfig>
        <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="123456" />
        <document>
            <entity name="item" query="select * from showentity">
                <field column="description" name="description" />
                <field column="title" name="title" />
                <field column="createTime" name="createTime" />
                <field column="type" name="type" />
            </entity>
        </document>
    </dataConfig>
    
    1. 将mysql的数据库连接jar拷贝到solr根目录的dist文件中,然后修改solrconfig.xml,加载这个jar包 ,和dataimport相关的jar包
    <lib dir="${solr.install.dir:../../../..}/dist/" regex=".*\.jar" />
    
    
    加载jar包
    1. 修改managed-schema为schema.xml并根据db-data-config.xml中的配置的从数据库导入的字段进行修改.
        <field name="title" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
        <field name="description" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
        <field name="createTime" type="date" indexed="true" stored="true" required="true" multiValued="false" />
        <field name="type" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    
    
    1. 在core admin选项中 选择刚刚修改的core,然后点击reload按钮,加载刚刚上面修改的配置
    reload
    1. 开始导入数据
      选择刚刚修改的core 下面的DataImport选项,然后点击execute按钮
    导入数据
    1. 进行查询
      在query选项中进行查询,发现数据已经导入进去了
    查询

    总结

    ok到这里就完成了solr单点的部署和简单的配置,后面会继续总结一下solr cloud集群的部署,solr一些配置文件的说明等

    相关文章

      网友评论

          本文标题:17- Solr部署和使用

          本文链接:https://www.haomeiwen.com/subject/rsfssxtx.html