solr搜索引擎配置使用mongodb做爲數據源

 

 

環境說明:python

操做系統:因爲是使用的docker直接拉取的鏡像部署的,系統是LINUX環境mongodb

mongodb: 4.0.3docker

solr: 7.5.0shell

python: 3.5apache

 

配置mongodb瀏覽器

1.拉取mongodb鏡像,建立容器;數據結構

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

2.配置容器  測試

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

 

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

 

 

完成以後,點擊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中插入數據測試一下
相關文章
相關標籤/搜索