这篇文章给大家介绍怎么使用Solr7对结构化csv文件建立全文索引,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
专注于为中小企业提供网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业和龙免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
小编将介绍如何使用Solr对csv文件建立全文索引。
1.本次测试准备生成一个1GB左右大小的csv文件,该数据文件共有十个字段,其中有int、double、string、date以及中文文本和英文文本等类型,多一些数据类型方便测试,下面是生成数据的Java代码
https://github.com/fayson/cdhproject/blob/master/generatedata/src/main/java/com/cloudera/solr/GenerateSolrTestData.java
生成的数据一共60W条,大小1.1GB,十个字段分别为number,firstDouble,firstNo,secondDouble,secondNo,jarName,enText,cnText,firstTime,secondTime
在Solr Web页面,选择左侧的【Collections】,然后单击【Add collection】。创建一个Collection
Collection创建成功
将准备好的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.根据单个字段查询
number
jarName
时间字段范围查询
3.根据英文文本中的内容查找
4.根据中文文本中的内容进行查找
5.使用字段的组合进行查找
在某个时间范围内的number在1到10000之间的英文文本中包含Cloudera的记录
在number30000到40000的记录中,firstDouble大于200,secondDouble小于500的记录
jarName以spark开头,且中文文本中包含“查询”的记录
1.与上篇文档中使用的dataimport的方式导入数据建立索引不同,本文档使用Solr自带的post.jar将csv文件导入并创建索引,经过查询测试,该方式能够正常使用。
2.Solr在使用时间格式进行查询时,只能使用UTC格式,Solr只能识别这种格式的时间,例如2018-03-06T02:37:02Z。
3.在使用多条件查询时,可以使用fq,在fq中可以添加多个检索条件,其中范围检索可以使用{}、[]、TO搭配来实现,例如firstTime:[2018-01-01T00:00:00Z TO 2018-01-31T23:59:59Z],表示firstTime在1月1日到1月31日之间的数据。
4.Solr的query页面还有许多参数可以使用,例如sort可以对字段进行排序,start、rows可以定义分页的数量,wt可以指定检索结果的格式等等。
关于怎么使用Solr7对结构化csv文件建立全文索引就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款