前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0701-6.2.0-使用Solr7对结构化csv文件建立全文索引

0701-6.2.0-使用Solr7对结构化csv文件建立全文索引

作者头像
Fayson
发布2019-09-18 16:23:34
1.2K0
发布2019-09-18 16:23:34
举报
文章被收录于专栏:Hadoop实操

作者:余枫

文档编写目的

在上一篇《6.2.0-使用Solr7对多种格式文件建立全文索引》中介绍了如何在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.集群未启用kerberos

4.采用root用户

  • 前置条件

1.CDH集群已安装成功并正常运行

2.集群已添加Solr服务

准备测试数据

1.本次测试准备生成一个1GB左右大小的csv文件,该数据文件共有十个字段,其中有int、double、string、date以及中文文本和英文文本等类型,多一些数据类型方便测试,下面是生成数据的Java代码

代码语言:javascript
复制
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中,并建立全文索引

代码语言:javascript
复制
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可以指定检索结果的格式等等。

Fayson的github: https://github.com/fayson/cdhproject

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档