這篇文章小蛙要記錄怎麼樣新建一個 Core 並且也加入 DataImportHandler 的方法。

其他相關 Solr 系列文章請參考:

Solr 教學 (1) – 安裝篇
Solr 教學 (2) – tomcat 7 以帳號密碼限制存取頁面
Solr 教學 (3) – 以 Remote Address Filter 限制存取
Solr 教學 (4) – 使用 DataImport 匯入資料庫資料

上一篇記錄了怎麼透過 DataImportHandler 來將 MySQL 的資料匯入到 Solr 中,剛詢問了同事,一個 Core 可以大概看成資料庫中的一個 table,所以要匯入兩個不相關的 table 要用兩個 Core,雖然網路上好像有人提到可以將兩個不相干的 table 匯入到一個 Core 中,不過小蛙的 table 不多,就用簡單的做法就好。

小蛙的 index 環境是在 /opt/solr/example,最快的方法是直接把 example 資料夾複製一個新的並且改名字,這邊小蛙想要有一個 news 的 core, 使用自己建立必要資料夾的方法,建立以下資料夾

/opt/solr/news/
/opt/solr/news/conf
/opt/solr/news/data

再將原本 /opt/solr/example/conf/ 下的 db-data-config.xml, schema.xml, solrconfig.xml 這三個檔案複製到 /opt/solr/news/conf/ 目錄中。

接著修改 /opt/solr/solr.xml,加入新的 core

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
    <cores adminPath="/admin/cores">
        <core name="example" instanceDir="example" />
        <core name="News" instanceDir="news" />
        ...
    </cores>
</solr>

重新啟動 tomcat。小蛙在這邊就遇到很多錯誤,因為資料夾是用 root 權限建立的,而 solr 並沒有這樣的權限可以存取,所以這邊要注意把 /opt/solr/news 下的檔案擁有權都改成 tomcat7 (看 tomcat user 叫什麼就改成那個)。

第二個要注意的事情是一切正常運作後,點選到 DataImport 頁面開始運行時,卻出現下面的錯誤

org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select * from news Processing Document # 1 
...
Caused by: java.sql.SQLException: Illegal value for setFetchSize(). 
...

參考資料 1,2 中提到在 db-data-config.xml 中的 <dataSource 加上 batchSize=”-1″ 就可以解決這個問題囉!

參考資料:

  1. Solr – User – problem on running fullimport
    http://lucene.472066.n3.nabble.com/problem-on-running-fullimport-td1707206.html
  2. DataImportHandler – Solr Wiki
    http://wiki.apache.org/solr/DataImportHandler#Configuring_JdbcDataSource
相關文章

Android Vuforia with jPCT-AE (5) – 多重模型載入,以 obj 為例

要進到這系列最後一篇文章了,這篇文章拖了很久,一直沒有時間整理,結果到最後 ... 程式碼留下來了,記憶卻有些模糊了,這邊小蛙配著程式碼盡可能的把還記得的東西寫下來。
2016-07-06 11:24:19
hans

18

Android Vuforia with jPCT-AE (4) – 載入 3DS 測試

延續 jPCT-AE Loader 載入模型的部份,這篇要記錄載入 3ds 檔案格式的方法,基本上跟前面幾個 obj, md2 的方法差不多,只有一些小小的變化而已。
2016-07-06 10:24:33
hans

18

Android Vuforia with jPCT-AE (3) – 載入 md2 測試

前兩篇介紹如何直接透過 jPCT-AE 直接繪圖以及載入 .obj 檔案,這邊繼續介紹 jPCT-AE 載入 md2 的方法,載入動作大致上類似,唯一不同的只有 texture 設定部份。
2016-07-06 09:24:43
hans

18

Android Vuforia with jPCT-AE (2) – 載入 obj 測試

上一篇 Android Vuforia with jPCT-AE (1) –
2016-07-06 08:24:55
hans

18

Qualcomm Vuforia 教學 (6) – 3D model -> .obj -> .h

終於來到 Vuforia 記錄的最後一篇了,這篇參考到網路上神人的做法,怎麼把一個 3D model 轉換成 Vuforia 可以使用的 .h 檔,這邊之後都直接使用 An
2014-12-10 11:25:50
hans

18

Qualcomm Vuforia 教學 (5) – 替換茶壺 – Android JNI 版本

前面的文章提到為什麼要用 Android NDK 來開發,既然已經有了 Android 版本替換茶壺的文章,這邊記錄 Android NDK 版本的替換茶壺。
2014-12-09 17:54:17
hans

18

Qualcomm Vuforia 教學 (4) – 使用 Android NDK 版本並開啟多重偵測

接續前幾篇教學,我們已經建置好 Vuforia 開發及執行環境
2014-12-09 17:10:57
hans

18

Qualcomm Vuforia 教學 (3) – 替換茶壺 – Android 版本

接續上一篇 
2014-12-09 15:38:17
hans

18

Solr 教學 (4) – 使用 DataImport 匯入資料庫資料

好一陣子沒有用 Solr,接續前幾篇
2014-01-08 12:00:17
hans

18

免費WIFI介紹 – *WIFLY(遠傳含前Seednet用戶), *FET wifi(遠傳含前Seednet用戶), Fami wifi

(2013-08-25 更新) 標題上有 * 字樣的是條件性免費喔!
2013-07-27 12:50:07
hans

18




 回覆

你可以使用以下語法 HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

(required)

(required)

   
© 2012 蛙齋 Suffusion theme by Sayontan Sinha