這篇文章主要介紹“Solr6.3服務(wù)從MySQL上導(dǎo)入數(shù)據(jù)的方法”,在日常操作中,相信很多人在Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對(duì)濕噴機(jī)等多個(gè)領(lǐng)域擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
安裝好solr6.3服務(wù),我安裝在centos7系統(tǒng)中,在/opt目錄下
步驟1:
創(chuàng)建一個(gè)core,這里用hubin為例
步驟2:
把mysql所需的jar包(mysql驅(qū)動(dòng)包mysql-connector-java-5.1.38.jar)和solr-6.3.0/dist下的solr-dataimporthandler-6.3.0.jar和solr-dataimporthandler-extras-6.3.0.jar都復(fù)制到項(xiàng)目/opt/solr-6.3.0/server/solr-webapp/webapp/WEB-INF/lib/下。然后在solrconfig.xml文件中加入
步驟3:
在MYSQL中新建一張表。我這里用的是Navicat管理工具進(jìn)行創(chuàng)建的。這里的表名是goods。字段如下圖所示:
步驟4:
在solrconfig.xml的
然后在conf下新建data-config.xml文件。里面內(nèi)容如下:
query="select * from goods" deltaImportQuery="select * from goods where id='${dih.delta.id}'" deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
說(shuō)明:
dataSource是數(shù)據(jù)庫(kù)數(shù)據(jù)源。Entity就是一張表對(duì)應(yīng)的實(shí)體,pk是主鍵,query是查詢(xún)語(yǔ)句。Field對(duì)應(yīng)一個(gè)字段,column是數(shù)據(jù)庫(kù)里的column名,后面的name屬性對(duì)應(yīng)著Solr的Filed的名字。其中solrdata是數(shù)據(jù)庫(kù)名,goods是表名。
其中deltaQuery是增量索引,原理是從數(shù)據(jù)庫(kù)中根據(jù)deltaQuery指定的SQL語(yǔ)句查詢(xún)出所有需要增量導(dǎo)入的數(shù)據(jù)的ID號(hào)。然后根據(jù)deltaImportQuery指定的SQL語(yǔ)句返回所有這些ID的數(shù)據(jù),即為這次增量導(dǎo)入所要處理的數(shù)據(jù)。核心思想是:通過(guò)內(nèi)置變量“${dih.delta.id}”和 “${dataimporter.last_index_time}”來(lái)記錄本次要索引的id和最近一次索引的時(shí)間。
最后在conf文件下的managed-schema配置field信息:
其中id,name,number,updateTime是上面提到的數(shù)據(jù)庫(kù)字段。下面三個(gè)field是系統(tǒng)本身的不能刪除,否則會(huì)運(yùn)行錯(cuò)誤。
步驟5:
啟動(dòng)tomcat,并在URL中輸入http://127.0.0.1:8080/solr/index.html路徑。選擇Core admin 輸入如下設(shè)置:
選擇剛剛添加的goods實(shí)體進(jìn)行索引操作:我們這兒可以選擇full-import或者delta-import(增量索引),選擇增量索引需要把clean的勾給去掉,不然會(huì)清除之前的,增量的索引的初衷是對(duì)新增或者修改的記錄重新索引,會(huì)追加到原有的索引文件當(dāng)中。當(dāng)我們選擇full-import的時(shí)候,最好就是把原有的索引文件給清空重新索引。
索引成功如下如所示:
使用query進(jìn)行測(cè)試,輸入sa查出了sa
這就成功的配置完了MYSQL數(shù)據(jù)庫(kù)了,如果配置過(guò)程有啥問(wèn)題可以參考我這個(gè)已經(jīng)配置成功代碼:
PS:solr-5.0 以上默認(rèn)對(duì)schema的管理是使用managed-schema,不能手動(dòng)修改,需要使用Schema Restful的API操作。如果要想手動(dòng)修改配置,把managed-schema拷貝一份修改為schema.xml,在solrconfig.xml中修改如下:
到此,關(guān)于“Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!