docker solr 创建core

首先我们需要进入solr中

docker exec -it --user root solr /bin/bash

 这里使用root用户进入,直接进入是solr用户,因为需要创建文件 所以使用root用户进入

下载vim

apt-get update && apt-get -yq install vim

cd server

cd solr

创建文件夹

mkdir test

cd test

 复制配置文件

cp -r /opt/solr/server/solr/configsets/_default/conf  /opt/solr-8.1.1/server/solr/test

创建数据存储文件夹

 mkdir data

因为是用root用户创建的 需要授权给solr

chown -R solr:solr  /opt/solr-8.1.1/server/solr/test

准备工作完成后在视图中创建core 

 

创建成功后

cd /opt/solr-8.1.1/server/solr/test

touch data-config.xml

 

data-config.xml 主要是连接数据库把数据导入到solr中

vim data-config.xml

添加以下信息

<?xml version="1.0" encoding="UTF-8" ?>

<dataConfig>

    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://IP:端口/数据库名?autoReconnect=true" user="用户名" password="密码" />

    <document>

        <entity name="haLock" query="SELECT * FROM 表名" deltaQuery="SELECT * FROM 表名">

            <field column="数据库中列名" name="自定义名" />

            <field column="数据库中列名" name="自定义名" />

        </entity>

    </document>

</dataConfig>

 

其中<field column="数据库中列名" name="自定义名" /> 可以有多列 

然后编辑conf目录中的managed-schema文件(managed-schema 就是 旧版的schema.xml文件) 主要是配置solr的数据展示 分词等

<field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>

下面添加自己的字段 一般是data-config.xml中定义多少个field ,则在managed-schema也要展示多少个

 type是solr定义的类型 有pint -int,string-String等

indexed是决定 你的content是否在solr中建立索引,也就是是否分词,

而 stored的意思是 你是否要将该字段以及所对应的值存储到solr服务器

docValues 一般为false,详情查看以下博客解析

https://blog.csdn.net/asdfsadfasdfsa/article/details/71576750

然后要配置 requestHandler的位置

cd  /opt/solr-8.1.1/server/solr/test/conf

vim solrconfig.xml

找到已有的requestHandler 在下面添加

 <requestHandler name="/dataimport" class="solr.DataImportHandler">

      <lst name="defaults">

        <str name="config">data-config.xml</str>

      </lst>

    </requestHandler>

 然后reload

就可以进行导入数据操作了

 


小技巧 如果在vim中编辑 managed-schema太麻烦 可以使用

新建一个窗口 使用docker cp 命令

将solr 中的 managed-schema文件 和data-config.xml拉到本地

docker cp solr:/opt/solr-8.1.1/server/solr/test/conf/managed-schema .

docker cp solr:/opt/solr-8.1.1/server/solr/test/data-config.xml .

然后拉到windows环境下编辑,编辑完成后再cp到solr中


常见问题

1.

Error CREATEing SolrCore 'goods_dept_goods_view': Couldn't persist core properties to /opt/solr/server/solr/goods_dept_goods_view/core.properties : /opt/solr/server/solr/goods_dept_goods_view/core.properties

一般是权限问题 

chown -R solr:solr goods_dept_goods_view/ 

2.

这种错误是因为你没有在solrconfig.xml 文件中配置data-config.xml 的指定位置,即你的core 下的conf文件夹中的solrconfig.xml 文件并打开,在里边加入如下内容,放置的位置你可以放到其他requestHandler 旁边:

 <requestHandler name="/dataimport" class="solr.DataImportHandler">

      <lst name="defaults">

        <str name="config">data-config.xml</str>

      </lst>

    </requestHandler>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值