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檔案同級的目錄中建立上述配置中的
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 必須大寫!!
E、DIH記憶體溢位錯誤
在使用DIH時,容易報記憶體溢位錯誤。可以通過設定jvm大小來解決。設定方法如下:
在tomcat\bin\startup.bat 加入SET JAVA_OPTS=-Xms128m -Xmx1024m 配置 這裡設定的是1024M,根據情況可以適量增大
F、自動全匯入和自動增量匯入
此功能可以自己寫程式實現,也可利用apache-solr-dataimportscheduler-1.0.jar包完成此功能。配置如下:
修改solr.war中WEB-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.