bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法

這篇文章主要介紹“Solr6.3服務(wù)從MySQL上導(dǎo)入數(shù)據(jù)的方法”,在日常操作中,相信很多人在Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對濕噴機等多個領(lǐng)域擁有多年的網(wǎng)站維護經(jīng)驗的網(wǎng)站建設(shè)公司。

安裝好solr6.3服務(wù),我安裝在centos7系統(tǒng)中,在/opt目錄下

步驟1:

創(chuàng)建一個core,這里用hubin為例

步驟2:

  把mysql所需的jar包(mysql驅(qū)動包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ù)制到項目/opt/solr-6.3.0/server/solr-webapp/webapp/WEB-INF/lib/下。然后在solrconfig.xml文件中加入<lib dir="/opt/solr-6.3.0/server/solr-webapp/webapp/WEB-INF/lib/" regex=".*\.jar" />(就是把WEB-INF\lib里面的jar包配置到項目中,我這里用的是絕對地址。這段代碼大約在solrconfig.xml的70多行處,前面有一堆類似的代碼。)

步驟3:

  在MYSQL中新建一張表。我這里用的是Navicat管理工具進行創(chuàng)建的。這里的表名是goods。字段如下圖所示:

Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法

步驟4:

  在solrconfig.xml的  <requestHandler name="/select">  

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  

             <lst name="defaults">

                   <str name="config">data-config.xml</str>

               </lst>

</requestHandler>  

然后在conf下新建data-config.xml文件。里面內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>  

<dataConfig>  

 <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solrdata" user="root" password="220316" batchSize="-1" />  

<document>  

        <entity name="goods" pk="id"  dataSource="source1"   

                query="select * from  goods"  

                 deltaImportQuery="select * from goods where id='${dih.delta.id}'"  

                deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">    

      <field column="id" name="id"/>  

     <field column="name" name="name"/>  

           <field column="number" name="number"/>  

            <field column="updateTime" name="updateTime"/>  

  </entity>  

</document>  

</dataConfig>  

說明:

  dataSource是數(shù)據(jù)庫數(shù)據(jù)源。Entity就是一張表對應(yīng)的實體,pk是主鍵,query是查詢語句。Field對應(yīng)一個字段,column是數(shù)據(jù)庫里的column名,后面的name屬性對應(yīng)著Solr的Filed的名字。其中solrdata是數(shù)據(jù)庫名,goods是表名。

  其中deltaQuery是增量索引,原理是從數(shù)據(jù)庫中根據(jù)deltaQuery指定的SQL語句查詢出所有需要增量導(dǎo)入的數(shù)據(jù)的ID號。然后根據(jù)deltaImportQuery指定的SQL語句返回所有這些ID的數(shù)據(jù),即為這次增量導(dǎo)入所要處理的數(shù)據(jù)。核心思想是:通過內(nèi)置變量“${dih.delta.id}”和 “${dataimporter.last_index_time}”來記錄本次要索引的id和最近一次索引的時間。

最后在conf文件下的managed-schema配置field信息:

<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />  

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

<field name="number" type="int" indexed="true" stored="false"/>  

<field name="updateTime" type="date" indexed="true" stored="true" />  

  <field name="_version_" type="long" indexed="true" stored="false"/>  

 <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />  

 <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>  

其中id,name,number,updateTime是上面提到的數(shù)據(jù)庫字段。下面三個field是系統(tǒng)本身的不能刪除,否則會運行錯誤。

步驟5:

啟動tomcat,并在URL中輸入http://127.0.0.1:8080/solr/index.html路徑。選擇Core admin 輸入如下設(shè)置:

Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法

  選擇剛剛添加的goods實體進行索引操作:我們這兒可以選擇full-import或者delta-import(增量索引),選擇增量索引需要把clean的勾給去掉,不然會清除之前的,增量的索引的初衷是對新增或者修改的記錄重新索引,會追加到原有的索引文件當(dāng)中。當(dāng)我們選擇full-import的時候,最好就是把原有的索引文件給清空重新索引。

索引成功如下如所示:

Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法

使用query進行測試,輸入sa查出了sa

Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法

這就成功的配置完了MYSQL數(shù)據(jù)庫了,如果配置過程有啥問題可以參考我這個已經(jīng)配置成功代碼:

PS:solr-5.0 以上默認對schema的管理是使用managed-schema,不能手動修改,需要使用Schema Restful的API操作。如果要想手動修改配置,把managed-schema拷貝一份修改為schema.xml,在solrconfig.xml中修改如下:

<!-- <schemaFactory class="ManagedIndexSchemaFactory">  

   <bool name="mutable">true</bool>  

   <str name="managedSchemaResourceName">managed-schema</str>  

  </schemaFactory> -->  

<!-- <processor class="solr.AddSchemaFieldsUpdateProcessorFactory">  

      <str name="defaultFieldType">strings</str>  

      <lst name="typeMapping">  

        <str name="valueClass">java.lang.Boolean</str>  

        <str name="fieldType">booleans</str>  

      </lst>  

      <lst name="typeMapping">  

        <str name="valueClass">java.util.Date</str>  

        <str name="fieldType">tdates</str>  

      </lst>  

      <lst name="typeMapping">  

        <str name="valueClass">java.lang.Long</str>  

       <str name="valueClass">java.lang.Integer</str>  

       <str name="fieldType">tlongs</str>  

      </lst>  

      <lst name="typeMapping">  

        <str name="valueClass">java.lang.Number</str>  

        <str name="fieldType">tdoubles</str>  

      </lst>  

    </processor> -->  

    <schemaFactory class="ClassicIndexSchemaFactory"/>  

到此,關(guān)于“Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

本文名稱:Solr6.3服務(wù)從Mysql上導(dǎo)入數(shù)據(jù)的方法
網(wǎng)頁路徑:http://vcdvsql.cn/article26/gjoscg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計網(wǎng)站內(nèi)鏈外貿(mào)建站網(wǎng)頁設(shè)計公司定制網(wǎng)站App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名