溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

發(fā)布時間:2020-05-22 17:10:48 來源:網(wǎng)絡(luò) 閱讀:301 作者:三月 欄目:web開發(fā)

下面一起來了解下php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟,相信大家看完肯定會受益匪淺,文字在精不在多,希望php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟這篇短內(nèi)容是你想要的。

solr安裝與配置

下載

下載地址:http://www.apache.org/dyn/closer.lua/lucene/solr/7.5.0

下載后直接解壓。

配置

創(chuàng)建新core

進入解壓后目錄(后面有~/solr-root/代替),進入~/solr-root/server/solr/,新建目錄,目錄名自己隨便定義,我定義的是test_core,然后將~/solr-root/server/solr/configsets/_default/目錄中的conf目錄復制到剛才新建的test_core中。

data-config.xml

新建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://127.0.0.1:3306/emails"
              user="root"
              password="root"
              batchSize="-1" />
    <document>
        <entity name="users" dataSource="source1"
            query="select id,name,id_card,staff_level,status from users">
            <field column="id" name="id" />
            <field column="name" name="name" />
            <field column="id_card" name="id_card" />
            <field column="staff_level" name="staff_level" />
            <field column="status" name="status" />
        </entity>
    </document>
</dataConfig>

說明:
emails是庫名,下面幾個field定義的就是select出來的那幾個字段。

solrconfig.xml

編輯solrconfig.xml文件,搜索“requestHandler”,講下面代碼加入并列的requestHandler配置塊中:

<requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
        <str name="config">data-config.xml</str>
    </lst>
</requestHandler>
managed-schema

編輯managed-schema文件,保留一下三個field:

<field name="_version_" type="plong" indexed="false" 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"/>

編輯其它field,跟data-config.xml文件中的field對應(yīng):

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true"/>
<field name="id_card" type="string" indexed="true" stored="true"/>
<field name="staff_level" type="string" indexed="true" stored="true"/>
<field name="status" type="string" indexed="true" stored="true"/>
下載數(shù)據(jù)庫鏈接庫
下載地址:http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar

將剛才現(xiàn)在的mysql-connector-java-8.0.11.jar 和~/solr-root/dist 目錄下的
solr-dataimporthandler-extras-7.5.0.jar 、solr-dataimporthandler-7.5.0.jar
這三個jar包一起拷貝到~/solr-root/server/solr-webapp/webapp/WEB-INF/lib目錄下

啟動solr

執(zhí)行啟動命令:

./~/solr-root/bin/solr start

啟動后訪問:127.0.0.1:8983,顯示如下界面:
php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

導入mysql數(shù)據(jù)

選擇剛才新建的test_core。
php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟
php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟
執(zhí)行完成后:
php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

測試

php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

PHP操作solr

安裝solr擴展。

php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

查詢

直接通過curl訪問類似下面的url即可:
php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟

增加數(shù)據(jù)

$client = new \SolrClient($options);
$data = array(
        array(
                'id' => 'EN80922032',
                'name' => '男士打磨直筒休閑牛仔褲',
                'brand' => 'ENERGIE',
                'cat' => '牛仔褲',
                'price' => '1870.00'
        ),
        array(
                'id' => 'EN70906025',
                'name' => '品牌LOGO翻領(lǐng)拉鏈外套',
                'brand' => 'ENERGIE',
                'cat' => '外套',
                'price' => '1680.00'
        ),
        //自定義數(shù)據(jù)。。。
);

foreach($data as $key => $value) {
        $doc = new \SolrInputDocument();
        foreach($value as $key2 =>$value2) {
                $doc->addField($key2,$value2);
        }
        $client->addDocument($doc);

}

$client->commit();die;

看完php通過mysql導入的數(shù)據(jù)操作solr7.5詳細步驟這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI