solr6 mysql_solr6 从mysql上导入数据
步驟1:
在webapps中solrhome下新建一個(gè)文件夾名字叫做mynode(名字不固定,可以隨便取,但是這個(gè)名字在后面的配置中會(huì)有所關(guān)聯(lián)。)然后在mynode文件下新建一個(gè)名字叫做conf的文件夾(這個(gè)文件名字最后不要改。)然后把官網(wǎng)下下來的solr項(xiàng)目中solr-6.0.0\server\solr\configsets\data_driven_schema_configs\conf下的所有東西復(fù)制到conf中去。(注意不要復(fù)制錯(cuò)!)最后把solr-6.0\solr-6.0.0\example\example-DIH\solr\db\conf下的admin-extra.html,?admin-extra.menu-bottom.html ,admin-extra.menu-top.html三個(gè)文件也復(fù)制到conf中去。
步驟2:
把mysql所需的jar包和solr-6.0\solr-6.0.0\dist下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar都復(fù)制到項(xiàng)目WEB-INF\lib下。然后在solrconfig.xml文件中加入(就是把WEB-INF\lib里面的jar包配置到項(xiàng)目中,我這里用的是絕對(duì)地址。這段代碼大約在solrconfig.xml的70多行處,前面有一堆類似的代碼。)
步驟3:
在MYSQL中新建一張表。我這里用的是Navicat管理工具進(jìn)行創(chuàng)建的。這里的表名是goods。字段如下圖所示:
步驟4:
在solrconfig.xml的? 之上添加
data-config.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}'">
說明:
dataSource是數(shù)據(jù)庫數(shù)據(jù)源。Entity就是一張表對(duì)應(yīng)的實(shí)體,pk是主鍵,query是查詢語句。Field對(duì)應(yīng)一個(gè)字段,column是數(shù)據(jù)庫里的column名,后面的name屬性對(duì)應(yīng)著Solr的Filed的名字。其中solrdata是數(shù)據(jù)庫名,goods是表名。
其中deltaQuery是增量索引,原理是從數(shù)據(jù)庫中根據(jù)deltaQuery指定的SQL語句查詢出所有需要增量導(dǎo)入的數(shù)據(jù)的ID號(hào)。然后根據(jù)deltaImportQuery指定的SQL語句返回所有這些ID的數(shù)據(jù),即為這次增量導(dǎo)入所要處理的數(shù)據(jù)。核心思想是:通過內(nèi)置變量“${dih.delta.id}”和 “${dataimporter.last_index_time}”來記錄本次要索引的id和最近一次索引的時(shí)間。
最后在conf文件下的managed-schema配置field信息:
其中id,name,number,updateTime是上面提到的數(shù)據(jù)庫字段。下面三個(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è)置:
設(shè)置好之后,點(diǎn)擊Add Core按鈕,進(jìn)行設(shè)置,設(shè)置成功后,再core Selector選擇剛剛添加的core。
選擇剛剛添加的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
數(shù)據(jù)庫中的數(shù)據(jù)如下圖所示:
這就成功的配置完了MYSQL數(shù)據(jù)庫了
總結(jié)
以上是生活随笔為你收集整理的solr6 mysql_solr6 从mysql上导入数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql迫切连接_SQL水平迫切进阶
- 下一篇: mysql和sql互导_Mysql和Sq