第 1 步:安装 Mongo 连接器
安装 mongo 连接器运行
Pip install mongo-connector
第 2 步:创建 Solr 核心
./bin/solr create -c <corename>-p 8983 -s 3 -rf 3
第 3 步:配置到 Solr
mongodb 文档中要索引的字段在 schema.xml 配置文件中指定。在 vi 编辑器中打开 schema.xml。作为
vi/solr/solr-6.6.2/server/solr/configsets/data_driven_schema_configs/
conf/schema.xml
第 4 步:Mongo 连接器还将与它索引的每个 mongodb 文档关联的元数据存储在字段 ns 和 _ts 中。还将 ns 和 _ts 字段添加到 schema.xml。
<schema>
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.5">
<field name="time_stamp" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="category" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="type" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="servername" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="code" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="msg" type="string" indexed="true" stored="true"
multiValued="false" />
<field name="_ts" type="long" indexed="true" stored="true" />
<field name="ns" type="string" indexed="true" stored="true"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
</schema>
Step 5 : 我们还需要在 solrconfig.xml 中配置 org.apache.solr.handler.admin.LukeRequestHandler 请求处理程序。
在 vi 编辑器中打开 solrconfig.xml。
vi ./solr-5.3.1/server/solr/configsets/basic_configs/conf/solrconfig.xml
指定 Mongo 连接器的请求处理程序。
*<requestHandler name="/admin/luke"
class="org.apache.solr.handler.admin.LukeRequestHandler" />*
还将自动提交配置为 true,以便 Solr 在配置的时间后自动提交来自 MongoDB 的数据。
<autoCommit>
<maxTime>15000</maxTime>
<openSearcher>true</openSearcher>
</autoCommit>
第 6 步:Solr 需要重新启动
Bin/solr restart -force
启动 MongoDB 服务器
Mongo 连接器需要运行 MongoDB 副本集,以便它在 Solr 中索引 MongoDB 数据。副本集是实现复制和自动故障转移的 MongoDB 服务器集群。一个副本集可以只包含一个服务器,端口指定为 27017,MongoDB 的数据目录指定为 /data/db,副本集名称指定为带有 –replSet 选项的 rs0。
Sudo mongod --port 27017 --dbpath /data/db --replSet rs0
第 7 步:启动 MongoDB Shell 使用以下命令启动 Mongodb shell
Mongo
MongoDB shell 启动。我们需要启动副本集。运行以下命令启动副本集。
rs.initiate()
第 8 步:启动 MongoDB 连接器并使用 Solr 为 MongoDB 数据库建立索引 运行 Mongo-connector 命令如下
mongo-connector --unique-key=id –n solr.wlslog -m localhost:27017 -t
http://xx.xxx.xxx.xx:8983/solr/wlslog -d solr_doc_manager
在上面的语句中 solr.wlslog--> solr 是一个数据库名 wlslog 是一个集合名 Solr/wlslog--> wlslog 是一个 CORE 名
供将来参考,请使用以下链接
https://www.toadworld.com/platforms/nosql/b/weblog/archive/2017/02/03/indexing-mongodb-data-in-apache-solr