有時候我們有一些通過sql匯出的csv格式的檔案如果需要匯入到slor,可以採用以下的方法
首先假定我們的schema.xml如下所示:
<我們的csv(books.csv)檔案的內容如下:field
name
="id"
type
="string"
stored
="true"
indexed
="true"
/>
<
field
name
="name"
type
="string"
stored
="true"
indexed
="true"
/>
<
field
name
="isbn"
type
="string"
stored
="true"
indexed
="true"
/>
<
field
name
="description"
type
="text"
stored
="true"
indexed
="true"
/>
id;name;isbn;description;publish_date為了能夠將上面的csv資料正確的匯入,我們需要對solrconfig.xml檔案進行如下修改:1;solr cookbook;abc123456;"
solr cookbook";2011-06
2;some book 1;jhds871281;"
some book";2010-01
3;some book 2;9182ksc98;"
another book";2010-02
<說明:startup="lazy":通過該引數告訴solr在第一次新增時才例項化這個更新處理程式requesthandler
name
="/update/csv"
class
="solr.csvrequesthandler"
startup
="lazy"
>
<
lst
name
="defaults"
>
<
str
name
="separator"
>;
str>
<
str
name
="header"
>true
str>
<
str
name
="skip"
>publish_date
str>
<
str
name
="encapsulator"
>"
str>
lst>
requesthandler
>
; : 通過該引數告訴solr 字段之間是通過「;」分隔
true:通過該引數告訴solr在資料項之前含有頭資訊
publish_date :通過該引數告訴solr,publish_date 這列資料需要忽略掉
":通過該引數告訴solr資料項是通過雙引號(")進行封裝的
設定完畢,重啟solr,並提交資料:
封裝好的資料項(此處為雙引號),也可以進行拆分,如果過我們將name 欄位設為多值,那麼在requesthandler裡面做乙個小的調整,可以對如下文件進行處理:
id;name;isbn;description;publish_date在 requesthandler裡再新增一項:true1;"solr cookbook;new solr cookbook";abc123456;"solr cookbook";2011-06
這樣設定之後,solr裡面會新增一條id為1,name 欄位有 solr cookbook、new solr cookbook 兩個值
Solr匯入CSV檔案
首先得準備好乙份csv檔案,這份檔案可以是手動生成,也可以是從資料庫中匯出來的。參見postgresql匯入匯出資料 將postgres中的表匯出為csv檔案。上傳csv檔案示例,在csv檔案中,header不能加雙引號 postgres匯出時缺省會加上 比如下面的檔案匯入會出錯,id name 8...
mysql csv6 mysql匯入csv格式檔案
今天測試匯入csv格式檔案,雖然簡單但是如果不注意還是會出現錯誤,而且mysql在某些方面做的確實對新手不是很友好,記錄一下 建立乙個csv格式檔案 mysql 1 ycrdb more tmp loaddata.txt 1,abc,abc qq.com 1,abc,abc qq.com 1,abc...
mysql資料匯入solr
在solrconfig.xml配置資料匯入用的requesthandler和資料匯入使用的jar包 dih data config.xml 配置檔案可以是絕對路徑 或相對集合 conf 的相對路徑 deltaimportquery select from t product where prod i...