1. 程式人生 > >Solr從資料庫匯入資料

Solr從資料庫匯入資料

一. 資料匯入(DataImportHandler-DIH)

DIH solr 提供的一種針對資料庫、xml/HTTP、富文字物件匯入到solr 索引庫的工具包。這裡只針對資料庫做介紹。

A、準備以下jar

apache-solr-dataimporthandler-4.0.0.jar

apache-solr-dataimporthandler-extras-4.0.0.jar

apache-solr-dataimportscheduler-1.1.jar(增量匯入使用)

資料庫對應的jdbc驅動包這裡使用的是Oracle oracle10g.ja放入Tomcat6.0.36/webapps/sol/WEB-INF/lib 中

B、配置solrconfig.xml

solrconfig.xml中加入如下配置:

<requestHandlername=”/dataimport” class=”org.apache.solr.handler.dataimport.DataImportHandler”>

<lst name=”defaults”>

<str name=”config”>xx-data-config.xml</str>

</lst>

</requestHandler>

C、配置資料來源

在與solrconfig.xml檔案同級的目錄中建立上述配置中的

xx-data-config.xml檔案,配置如下

dih

query屬性為全匯入的時候使用。其他為增量匯入使用。

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<dataConfig>

<dataSource type=”JdbcDataSource”

driver=”oracle.jdbc.driver.OracleDriver”

url=”jdbc:oracle:thin:@192.168.0.129:1521:orcl”

user=”username”

password=”password”/>

<document>

<entity name=”business_info” pk=”ID”

query=”select t.ID id,business_name,bussiness_type from business t”

deltaImportQuery=”select t.ID id,business_name,bussiness_type from business t where id=’${dataimporter.delta.ID}’”

deltaQuery=”select t.ID id,business_name,bussiness_type from business t where  to_char(updatetime,’yyyy-mm-dd hh24:mi:ss’)> ’${dataimporter.last_index_time}’”>

<field column=”ID” name=”id”/>

</entity>

</document>

</dataConfig>

至此所有DIH的配置完成,在瀏覽器中輸入命令:

全匯入:

http://localhost:8085/solr/core0/dataimport?command=full-import&commit=ture

增量匯入:

http://localhost:8085/solr/core0/dataimport?command=delta-import&clean=false&commit=ture

檢視匯入狀態

http://localhost:8085/solr/core0/dataimport?command=status

D、處理CLOB欄位

<entity name=”meta” query=”select id,filename,content,bytes from documents” transformer=”ClobTransformer”>

<field column=”ID” name=”id” />

<field column=”CONTENT” name=”CONTENT” clob=”true” />

</entity>

ClOB 欄位的 column 必須大寫!!

EDIH記憶體溢位錯誤

在使用DIH時,容易報記憶體溢位錯誤。可以通過設定jvm大小來解決。設定方法如下:

tomcat\bin\startup.bat 加入SET JAVA_OPTS=-Xms128m -Xmx1024m 配置 這裡設定的是1024M,根據情況可以適量增大 

F、自動全匯入和自動增量匯入

此功能可以自己寫程式實現,也可利用apache-solr-dataimportscheduler-1.0.jar包完成此功能。配置如下:

修改solr.warWEB-INF/web.xml, servlet節點前面增加:

<listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>

apache-solr-dataimportscheduler-.jar 中 dataimport.properties 取出並根據實際情況修改,然後放到 solr.home/conf (不是solr.home/core/conf) 目錄下面

相關推薦

Solr資料庫匯入資料

一. 資料匯入(DataImportHandler-DIH) DIH 是solr 提供的一種針對資料庫、xml/HTTP、富文字物件匯入到solr 索引庫的工具包。這裡只針對資料庫做介紹。 A、準備以下jar包 apache-solr-dataimporthandl

學習筆記:0開始學習大資料-28. solr儲存資料在hdfs並mysql匯入資料

環境 centos7  hadoop2.6.0  solr-7.5.0 一、建立hdfs為儲存的core 1.在hdfs建立索引資料目錄 [[email protected] bin]# hadoop fs -mkdir /user/solr/ [[email&

資料庫查詢資料並輸出到前臺頁面

<?php        //獲取資料庫中的所有留言           require_once("connect.php");   &nbs

python後端資料庫請求資料給到前端的具體實現

先來貼一竄程式碼讓大家理解前端/後端/資料庫的工作原理, 首先簡要說明:前端向後端請求資料,後端根據前端請求資料的類別分析其需求,並連線到資料庫獲取相應資料: 來一段簡單的例項程式碼模擬淘寶商城: 前端程式碼: <!DOCTYPE html> <html> &

記錄一次向TiDB資料庫匯入資料的例子

匯出資料 今天從Mysql的某個庫中匯出一個表大概有20分鐘吧,等了一會終於匯出成功了。檢視一下檔案的大小: [[email protected]:vg_adn_CkhsTest ~]$du -h ./creative_output.sql 41G ./creative_outpu

Oracle 使用SQL Loader 外部匯入資料

在專案中經常會有一些基礎資料需要從Excel或其他檔案中匯入。大部分的格式都是樹結構。如果是這樣,我們對資料稍加整理,即可使用Oracle的資料匯入工具SQL Loader匯入我們所需要的資料到指定的表中。SQL Loader的詳細用法,可自己查詢相關詳細的文件,這裡只做簡單的使用介紹。 1

省級聯動資料庫獲取資料

主要就是前臺js程式碼,後臺就是根據id直接查詢的 html程式碼 <select style="width:130px" name="provinceCode" id="province"> <option value="0">--請選擇--<

資料庫讀出資料分頁顯示

#從資料庫中把資料讀出來 再渲染到頁面上 def book_view(request): #book_list=Book.objects.all() # return render(request, "book_view.html",{"book_list":book_list})

Python資料庫匯出資料成excel

from trump.db import query from utils.result_process import success,aborted import xlwt import datetime import config_business from sanic

PullToRefersh、網路獲取資料新增到adapter和資料庫 然後顯示、無網路時資料庫獲取資料新增到另一個adapter 然後顯示

package liyuanqi.bwie.com.pulltorrfresh; import android.content.Context; import android.net.ConnectivityManager; import android.net

Java呼叫R ,資料庫讀取資料,用R根據讀取的資料生成圖片儲存

Java呼叫R 以及用R生成的圖片儲存 使用 png()可以保證圖片質量 有人說繪製的圖片上有中文會出現亂碼,其實設定下字型就好了 family=‘STXihei’ Java呼叫R 以及用R生成的圖片儲存 Rserve的配置和啟動: ①安裝Rserve包。

關於mysql資料庫匯入資料慢的解決方法

mysqldump匯入慢的解決方法 mysql匯出的SQL語句在匯入時有可能會非常非常慢,經歷過匯入僅45萬條記錄,竟用了近3個小時。在匯出時合理使用幾個引數,可以大大加快導 入的速度。 -e 使用包括幾個VALUES列表的多行INSERT語法; –max_al

批量向mysql資料庫匯入資料夾中的excl檔案(方法2)

前一篇是直接將excl檔案匯入到資料庫中,這次是現將excl檔案轉化成Dataframe格式的,然後直接匯入mysql資料庫(有現成函式哦) import numpy as np import pandas as pd import pymysql from sqlalchemy import

Tidb資料庫匯入資料出現oom問題

今天使用insert操作向tidb中插入資料,發現正在匯入的過程中出現如下錯誤: mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2003 (HY000): Can't con

資料庫匯入資料

今天接觸到一個東西,工作中需要往DB2資料庫匯入資料,然後給我一大波 .dat檔案,和一個.list檔案,其實是蠻簡單的事情,第一次做覺得很頭大。這篇文章是在2017年上半年寫的,距離現在已經小半年,當時是計劃把這個過程總結一下,後來給忘記了。現在來完成一下。 其實是這樣的,.list檔案是

Solr:將資料庫匯入到索引庫<五>

將資料庫匯入到索引庫 準備: 資料表:我的測試表:testsolr mysql驅動 配置資料匯入功能: 在solrconfig.xml中配置requestHandler 配置資料匯入外掛 在索引庫中建立lib資料夾 在solrconfig.xml中引入 1.1 自定義索引庫:tests

C# 關於資料庫資料,並顯示在DataGridView中

從資料庫取資料,並顯示在DataGridView中,這種做法在.net開發經常用到。那麼到底該怎麼做呢? 1.要從資料庫取資料,必須建立資料庫連線 2.將資料庫中取到的資料通過一定方法,顯示在介面的的dataGridView中 程式碼:    效果如下: 從中,我們可以

[C#] 資料庫讀取資料並輸出

連線資料庫,並從資料庫中讀取資料後並輸出! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient

使用pandas模組資料庫讀取資料(轉)

轉自:http://www.tuicool.com/articles/ZVzEz2N Python中用Pandas進行資料分析,最常用的就是Dataframe資料結構,之前寫過一篇文章介紹Pandas的基本用法,後來有些朋友問Pandas怎麼從資料庫中讀取資料,怎麼從檔

solr5.5.0連線oracle資料庫匯入資料

1、將oracle的驅動包匯入到【D:\search\apache-tomcat-8.0.39\webapps\solr\WEB-INF\lib】下,再將【D:\search\solr-5.5.0\dist】下的solr-dataimporthandler-5.