solr搜索引擎配置使用mongodb作為數據源


 

 

環境說明:

操作系統:由於是使用的docker直接拉取的鏡像部署的,系統是LINUX環境

mongodb: 4.0.3

solr: 7.5.0

python: 3.5

 

配置mongodb

1.拉取mongodb鏡像,創建容器;

  這里我使用的是docker容器管理UI進行操作的,強烈推薦portainer,確實好用;登陸后台管理界面后,直接點擊App Templates,找到mongo,點擊進去就是配置了。這里有一點說明,最好點擊show advanced options配置一個固定端口;

2.配置容器  

    點擊已部署配置好的容器,選擇Duplicate/Edit按鈕,配置端口,我配置的是28766,在Command處,修改成/bin/sh,把Entry Point留空,這是因為拉取的鏡像模板是配置好默認啟動的,如果這里不清空,就直接啟動了,再去里面處理的時候會有一些麻煩。如下圖:

 

記得將端口暴露。勾上下圖那個

 

 

完成之后,點擊Deploy the container,啟動容器

3.點擊console,進入到容器的shell中,輸入  apt-get update 進行升級,完成之后安裝python環境和pip

apt-get update
apt-get install python3
aptapt-get install python3-pip

    安裝python環境是因為mongo-connector是基於python運行的。

4.安裝mongo-connector

pip3 install 'mongo-connector[solr]'

5.將mongodb設置為指定副本啟動,&表示在后台運行,(如果不加上前面那段,是連接不上的,非docker部署的請忽略前面那段sh)

/usr/local/bin/docker-entrypoint.sh mongod --replSet my_demo&

6.初始化mongodb

mongo
rs.initiate()

至此,mongodb環境已配置完成。我們可以使用連接工具測試一下是否正常。

 

配置solr

1.拉取鏡像,創建容器並啟動;

2.創建一個solr core

solr create -c my_demo

3.打開瀏覽器,輸入solr管理的URL地址,http://192.168.1.60:8983/solr/(即ip:solr運行的端口)打開solr管理界面

4.將schema.xml和solrconfig拷貝出來(這個是在安裝docker的主機上運行,主要是容器中不好配置,無界面,如果不是使用的docker,可以在對應的路徑內找到這倆個文件)

sudo docker cp d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150:./opt/solr/server/solr/my_demo/conf/solrconfig.xml ./solrconfig.xml 
sudo docker cp d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150:./opt/solr/server/solr/my_demo/conf/managed-schema ./schema.xml

其中  d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150 是容器的id,換成自己的容器id即可

5.在solrconfig.xml中添加

<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />

6.在schema.xml中配置數據結構

<field name="title" type="string" indexed="false" stored="true"/>
<field name="content" type="text_general" indexed="false" stored="true"/>

7.將文件拷貝回solr目錄下

sudo docker cp ./solrconfig.xml 3ed272a8ed088675dab8c6fab9335a6aedf7dcef9d73ed3a9d922f315be6f572:./opt/solr/server/solr/my_demo/conf/solrconfig.xml 
sudo docker cp ./schema.xml 3ed272a8ed088675dab8c6fab9335a6aedf7dcef9d73ed3a9d922f315be6f572:./opt/solr/server/solr/my_demo/conf/schema.xml

8.登陸solr管理端,點擊 core Admin->my_demo,點擊reload重新加載,然后在下面選擇 my_demo->schema,進行查看是否修改,如果修改成功的話,這里會顯示已經修改后的schema。在這一步時有一點需要注意,因為my_demo新建時,並沒有schema.xml這個文件,有的是managed-schema這個文件,在這一步操作之前,要刪除managed-schema,或者將其改名為schema.xml,否則是一直讀取的managed-schema這個文件

 

 至此,solr也就配置完成了。

在mongodb容器中運行 mongo-connector

mongo-connector --auto-commit-interval=0 -m localhost:27017 -t http://192.168.1.60:8983/solr/my_demo -d solr_doc_manager

其中格式為 

mongo-connector -m <mongodb server hostname>:<replica set port> \
                -t <replication endpoint URL, e.g. http://localhost:8983/solr> \
                -d <name of doc manager, e.g., solr_doc_manager>
          -n <collection e.g. db.collection>
my_demo是剛才建的solr core,

在mongodb中插入數據測試一下


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM