Solr部署与配置

部署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一些配置文件的说明等

相关文章

相关标签/搜索