Apache solr高階 匯入資料庫資料

2021-10-02 18:41:17 字數 4059 閱讀 2921

系統:centos linux release 7.6.1810

jdk: openjdk 1.8.0_222

solr版本:solr-7.7.2

資料庫: oracle 11.2.0.4.0 - 64bit

cd

$solr_install_home/dist

編輯配置檔案solrconfig.xml,在680行左右,新增以下內容

vim $solr_install_home/server/solr/my_core/conf/solrconfig.xml
"/dataimport" class=

"org.apache.solr.handler.dataimport.dataimporthandler"

>

"defaults"

>

<

!-- oracle-db/data-config.xml是引用配置檔案,檔案存放路徑相對於solr_home來說,也就是$solr_install_home/server/solr/my_core/oracle-db/data-config.xml -->

"config"

>oracle-db/data-config.xml

建立data-config.xml,編寫資料庫字段資訊

# 新建data-config.xml引用檔案

cd$solr_install_home/server/solr/my_core

mkdir oracle-db

vim data-config.xml

# 新增以下內容

<?xml version="1.0" encoding="utf-8" ?>

>

type

="jdbcdatasource"

driver

="oracle.jdbc.driver.oracledriver"

url="jdbc:oracle:thin:@10.204.105.127:1521:db11g02"

user

="test"

password

="123456"

/>

>

name

="instance_detail"

pk='instance_detail_id'

transformer

="clobtransformer"

deltabatch

="true"

query

="select * from soa_esb_instance_detail where created_date ">> to_date('2019-12-20 00:00:00','yyyy-mm-dd hh24:mi:ss') "

deltaimportquery

="select * from soa_esb_instance_detail where created_date ">>= to_date('$','yyyy-mm-dd hh24:mi:ss') and created_date < to_date('$','yyyy-mm-dd hh24:mi:ss')"

deltaquery

="select instance_detail_id from soa_esb_instance_detail where created_date ">>= to_date('$','yyyy-mm-dd hh24:mi:ss') and created_date < to_date('$','yyyy-mm-dd hh24:mi:ss') "

>

column

="instance_detail_id"

name

="id"

/>

column

="instance_uuid"

name

="instance_uuid"

/>

column

="log"

name

="log"

clob

="true"

/>

column

="log_size"

name

="log_size"

/>

column

="type"

name

="type"

/>

column

="created_date"

name

="created_date"

/>

column

="service_name"

name

="service_name"

/>

column

="major_version"

name

="major_version"

/>

entity

>

document

>

dataconfig

>

整合中文分詞器,參見博文----整合分詞器-----solr自帶分詞器和ik分詞器對比

維護字段對映關係,新增以下內容

vim $solr_install_home/server/solr/my_core/conf/managed-schema

# 在檔案末新增以下內容,儲存並退出,重啟solr

name

="id"

type

="string"

indexed

="true"

stored

="true"

required

="true"

multivalued

="false"

/>

name

="instance_uuid"

type

="string"

indexed

="true"

stored

="true"

/>

name

="log"

type

="text_ik"

indexed

="true"

stored

="false"

/>

name

="log_size"

type

="plong"

indexed

="true"

stored

="true"

/>

name

="type"

type

="string"

indexed

="true"

stored

="true"

multivalued

="true"

/>

name

="created_date"

type

="pdates"

indexed

="true"

stored

="true"

/>

name

="service_name"

type

="string"

indexed

="true"

stored

="true"

/>

name

="major_version"

type

="string"

indexed

="true"

stored

="true"

/>

接下來在介面執行匯入操作

Apache Solr 實踐 二 資料庫增量匯入

之前將solr的基礎環境搭建了起來。今天配置一下資料庫的增量匯入。實現步驟wiki上面寫的已經很清楚,主要注意兩點,一是索引的中文分詞,二是自定義字段。solr自帶的schema.xml中已經配置了常用字段,遇不包含字段需要定義。依wiki,實現solr索引定時增量匯入大致需五步。第一步,配置req...

Python高階 import匯入模組

1.搜尋路徑 搜尋匯入的模組的路徑。模組名.path2.新增新的模組路徑 確保先搜尋目標路徑 模組名.path insert 0,路徑 3.重新匯入模組 from imp import reload reload 模組名 4.多模組開發注意 方式描述 import 模組名 方式匯入模組 引用模組裡的...

java高階開發 靜態匯入

靜態匯入 從jdk1.5開始,如果類中 方法全是static 方法,則可以直接把這個類的 方法導 入進來,這樣就好 比像在 主類中定義的 方法那樣,可以被主 方法直接調 用,如下 public class mymath public static int sub int a,int b public...