文檔編寫目的
在上一篇《》中介紹了如何在CDH6.2.0中使用Solr7對多種格式的文件進行全文索引,測試中使用的主要是非結構化的word、ppt、pdf等非結構化的數據,很多時候需要使用Solr對結構化的數據進行索引,根據其中某些字段進行精準的查詢或者范圍查詢,本文檔將介紹如何使用Solr對csv文件建立全文索引。
1.準備測試數據
2.建立索引
3.進行查詢驗證
4.總結
1.CM和CDH版本為6.2.0
2.Solr版本為7.4.0
3.集群未啟用
4.采用root用戶
1.CDH集群已安裝成功并正常運行
2.集群已添加Solr服務
準備測試數據
1.本次測試準備生成一個1GB左右大小的csv文件在哪里可以創建索引文件,該數據文件共有十個字段,其中有int、、、date以及中文文本和英文文本等類型,多一些數據類型方便測試,下面是生成數據的Java代碼
https://github.com/fayson/cdhproject/blob/master/generatedata/src/main/java/com/cloudera/solr/GenerateSolrTestData.java
生成的數據一共60W條,大小1.1GB,十個字段分別為,,,,,,,,,
建立索引
在Solr Web頁面,選擇左側的【】,然后單擊【Add 】。創建一個
創建成功
將準備好的csv文件導入到Solr中,Solr自帶的post.jar提供了這個功能,下面是post.jar的用法
參考help命令,使用下面的命令將csv文件導入到Solr中,并建立全文索引
java?-Durl=http://localhost:8983/solr/test0723/update?-Dtype=text/csv?-Dc=test0723?-jar?post.jar?/tmp/solr/file/data.csv
csv文件導入成功,下一步在Solr上進行查詢驗證
進行查詢驗證
1.進入query界面
2.根據單個字段查詢
3.根據英文文本中的內容查找
4.根據中文文本中的內容進行查找
5.使用字段的組合進行查找
總結
1.與上篇文檔中使用的的方式導入數據建立索引不同,本文檔使用Solr自帶的post.jar將csv文件導入并創建索引,經過查詢測試,該方式能夠正常使用。
2.Solr在使用時間格式進行查詢時,只能使用UTC格式,Solr只能識別這種格式的時間,例如2018-03-06T02:37:02Z。
3.在使用多條件查詢時,可以使用fq,在fq中可以添加多個檢索條件,其中范圍檢索可以使用{}、[]、TO搭配來實現,例如:[2018-01-01T00:00:00Z TO 2018-01-31T23:59:59Z],表示在1月1日到1月31日之間的數據。
4.Solr的query頁面還有許多參數可以使用,例如sort可以對字段進行排序,start、rows可以定義分頁的數量在哪里可以創建索引文件,wt可以指定檢索結果的格式等等。
的: