a)
對於已存在的表,每個需要建立索引的列簇都需要設定
replication_scope
,命令如下:
b)
新建表,用如下命令:
c)
生成實體配置檔案
d)
編輯/home/bigdata/xuhailiu/solr/web-collection/conf/schema.xml
檔案。
為方便除錯,取出了檔案中自帶的一些字段。
注:其中
id欄位和
_version_
兩個字段必須保留,
id作為
habse
的rowkey
,_version_
用於版本的區分。
e)
建立collection
例項並配置檔案上傳到
zookeeper
$ solrctl instancedir --create web-collection /home/bigdata/xuhailiu/solr/web-collection
驗證操作是否成功:
登入到zookeeper
安裝的主機,執行客戶端指令碼登入:
$ /opt/cloudera/parcels/cdh/bin/zookeeper-client
登入成功後執行命令:
ls /solr/configs/web-collection
顯示結果:
f)
建立collection:
solrctl collection --create web-collection -s 1 -r 2
此時可在
solr
介面上看到建立的
collection
ø table
對應需要對映的
hbase表名
ø 固定值
ø morphlinefile
對應的value
為morphlines.conf
存放位置
ø morphlineid
為morphlines.conf
檔案中morphlines
屬性id 值
}
ø inputcolumn
對應hbase
中的列簇和列
ø outputfield
對應schema.xml
檔案中field值
(ps:
此處通過
key-value store indexer
介面的操作方式,有待研究。)
驗證操作是否成功:
登入到zookeeper
安裝的主機,執行命令:
hbase-indexer list-indexers -dump
顯示:
$ hbase shell
hbase shell> put 'web_log','rowkey1','cf:host','127.0.0.1'
solr
介面查詢結果:
Hbase二級索引
hbase的查詢都是通過rowkey 要把多條件組合查詢的字段都拼接在rowkey中顯然不太可能 或者全表掃瞄再結合過濾器篩選出目標資料 太低效 所以通過設計hbase的二級索引來解決這個問題。多個查詢條件構成了多維度的組合查詢,需要根據不同組合查詢出符合條件的資料。例如 按照電影維度查詢資料適合,...
mysql二級索引
聚集索引葉子節點存放記錄 非聚集索引葉子節點存放key和主鍵資訊 二級索引查詢比聚集索引慢,需要回表 iot表 拆表人肉回表 myisam索引是堆表 也是有序的 myisam主鍵和唯一索引的效率相當,不需要再回表 資料檔案位址修改了,iot不需要修改 myisam適合讀的應用 innodb適合寫 i...
聚集索引和二級索引
每個innodb的表都有個特殊的索引來存放資料 聚集索引。當在表上指定主鍵後,innodb使用它來作為聚集索引。如果沒有定義主鍵,會找非空唯一索引來作為clustered index 如果上面2個都沒有,那麼會在內部生成乙個隱藏的clustered index 通過乙個clustered index...