環境:ubuntu18
+ springboot2.0
+ solr-8.0.0
java
先去官網下載solr:Index of /apache/lucene/solr/8.0.0
我這裏下載的是zip的包,下載以後unzip命令解壓獲得下列文件:
mysql
進入bin目錄,執行sudo ./solr -start
命令,
這裏可能遇到的錯誤有兩個:web
export JAVA_HOME='你的JDK路徑'
便可;-force參數
,錯誤信息以下:
好吧,再次運行sudo ./solr start -force
,運行成功。
spring
solr的默認端口是8983
,打開瀏覽器輸入localhost:8983
,能夠看到solr已經能夠訪問了~
sql
選擇左側CoreAdmin
,再選擇Add Core
,輸入核心的名稱和實例路徑,後邊三個默認就好。apache
點擊Add Core提交信息,這裏我遇到了一個錯誤信息,以下:ubuntu
意思是在覈心目錄下找不到相應的配置文件,解決辦法:將下圖的conf文件夾cope到新建立的core目錄下 /usr/local/solr-8.0.0/server/solr/new_core2
。vim
從新點擊Add Core,建立成功~瀏覽器
接下來導入MySQL中的數據,咱們會用到Solr自帶的DIH(DataImportHandler)去進行數據導入。
這一步須要導入三個jar包(solr-dataimporthandler-8.0.0.jar
、olr-dataimporthandler-extras-8.0.0.jar
和mysql-connector-java-8.0.15.jar
),編輯三個文件(db-data-confg.xml
、solrconfig.xml
以及managed-schema
)。springboot
進入到/usr/local/solr-8.0.0/dist
目錄,將solr-dataimporthandler-8.0.0.jar
和solr-dataimporthandler-extras-8.0.0.jar
複製到/usr/local/solr-8.0.0/server/solr-webapp/webapp/WEB-INF/lib
,再去mvn倉庫下載一個mysql-connector-java的包,也複製到這裏。
/usr/local/solr-8.0.0/example/example-DIH/solr/db/conf
目錄,拷貝db-data-config.xml
到咱們剛纔複製的conf文件夾內/usr/local/solr-8.0.0/server/solr/new_core2/conf
,能夠隨意修改一個文件名,也能夠用他默認的,以下,我改爲了mysql-db.xml
:
編輯該文件vim mysql-db.xml
,將本來的內容修改爲咱們本身的需求:
修改dateSource:
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/dbname" user="root" password="" />
加入entity:
solrconfig.xml
,添加以下信息:<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">mysql-db.xml</str> </lst> </requestHandler>
mysql-db.xml
就是剛纔copy的db-data-config.xml
的文件名。
managed-schema
,加入<!-- custom fields--> <field name="title" type="string" indexed="true" stored="true"/> <field name="content" type="string" indexed="true" stored="true"/> <field name="labels" type="string" indexed="true" stored="true"/>
保存 --> 退出 --> 重啓solr, sudo ./solr restart -force
再次打開localhost:8983
管理頁面,選擇新建立的核心 --> 選擇 DateImport
--> 選擇 full-import
全量導入 --> 提交 --> 點擊Refresh刷新,能夠看到導入成功的提示:
至此,數據導入就完畢了!
以後的文章咱們會加入中文分詞以及如何在springboot項目中使用solr