【大数据开发运维解决方案】Solr5.1案例文档导入

简介: 1、创建内核[root@hadoop exampledocs]# cd /hadoop/solr/[root@hadoop solr]# ./bin/solr create -c jcg -d basic_configsSetup new core instance directory:/hadoop/solr/server/solr/jcgCreating new core 'jc...

1、创建内核

[root@hadoop exampledocs]# cd /hadoop/solr/
[root@hadoop solr]# ./bin/solr create -c jcg -d basic_configs

Setup new core instance directory:
/hadoop/solr/server/solr/jcg

Creating new core 'jcg' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=jcg&instanceDir=jcg

{
  "responseHeader":{
    "status":0,
    "QTime":191},
  "core":"jcg"}

core创建成功之后,会在server/solr目录下生成名为jcg的文件夹,这就是我们创建的jcg core的配置,jcg目录下有两个文件夹和一个文件,如下所示。
[root@hadoop solr]# ls server/solr/
configsets core_one jcg README.txt solr.xml zoo.cfg
[root@hadoop solr]# ls server/solr/jcg/
conf core.properties data
然后在solr控制台就可以看到jcg了。
image.png
根据solr提供的示例,通过设置一个schema,然后导入books.csv(example/exampledocs文件夹下)文件,产生索引,然后重启solr,利用api查询。

[root@hadoop exampledocs]# pwd
/hadoop/solr/example/exampledocs
[root@hadoop exampledocs]# ls
books.csv            hd.xml          manufacturers.xml  monitor2.xml  post.jar     solr-word.pdf  utf8-example.xml
books.json           ipod_other.xml  mem.xml            monitor.xml   sample.html  solr.xml       vidcard.xml
gb18030-example.xml  ipod_video.xml  money.xml          mp500.xml     sd500.xml    test_utf8.sh
books.csv文件的内容:后续我们会根据这些内容进行查询
[root@hadoop exampledocs]# cat books.csv 
id,cat,name,price,inStock,author,series_t,sequence_i,genre_s
0553573403,book,A Game of Thrones,7.99,true,George R.R. Martin,"A Song of Ice and Fire",1,fantasy
0553579908,book,A Clash of Kings,7.99,true,George R.R. Martin,"A Song of Ice and Fire",2,fantasy
055357342X,book,A Storm of Swords,7.99,true,George R.R. Martin,"A Song of Ice and Fire",3,fantasy
0553293354,book,Foundation,7.99,true,Isaac Asimov,Foundation Novels,1,scifi
0812521390,book,The Black Company,6.99,false,Glen Cook,The Chronicles of The Black Company,1,fantasy
0812550706,book,Ender's Game,6.99,true,Orson Scott Card,Ender,1,scifi
0441385532,book,Jhereg,7.95,false,Steven Brust,Vlad Taltos,1,fantasy
0380014300,book,Nine Princes In Amber,6.99,true,Roger Zelazny,the Chronicles of Amber,1,fantasy
0805080481,book,The Book of Three,5.99,true,Lloyd Alexander,The Chronicles of Prydain,1,fantasy
080508049X,book,The Black Cauldron,5.99,true,Lloyd Alexander,The Chronicles of Prydain,2,fantasy
[root@hadoop exampledocs]# 

1、修改server/solr/jcg/conf/manage-schema,添加如下配置

[root@hadoop exampledocs]# cd /hadoop/solr/server/solr/jcg/conf/
[root@hadoop conf]# vim schema.xml 
  <!--fields for book.csv load -->

  <field name="cat" type="text_general" indexed="true" stored="true"/>  
  
  <field name="name" type="text_general" indexed="true" stored="true"/>  
  
  <field name="price" type="tdouble" indexed="true" stored="true"/>  
  
  <field name="inStock" type="boolean" indexed="true" stored="true"/>  
  
  <field name="author" type="text_general" indexed="true" stored="true"/> 

这些配置对应books.csv文件中的一些字段field:
name:名称,随便定义,在查询的时候根据定义的名称来查询。
type:类型
indexed:是否做索引
stored:是否存储
这里我们只配置了部分字段cat,name,price,inStock,author,像series_t,sequence_i,genre_s,这些字段没有配置,这些配置在manage-schema中有默认的配置,他们就是根据字段后缀来做索引,这些字段就称为动态属性字段,每一个后缀对应可以有多个这样的动态属性,但是字段类型需要保持和定义时一致。部分动态属性定义如下:

<dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
<dynamicField name="*_is" type="int"    indexed="true"  stored="true"  multiValued="true"/>
<dynamicField name="*_s"  type="string"  indexed="true"  stored="true" />

2、停止solr实例,并重新开启。

[root@hadoop conf]# cd /hadoop/solr/
[root@hadoop solr]# ./bin/solr stop
Sending stop command to Solr running on port 8983 ... waiting 5 seconds to allow Jetty process 50254 to stop gracefully.
[root@hadoop solr]# ./bin/solr start -p 8983
Waiting to see Solr listening on port 8983 [/]  
Started Solr server on port 8983 (pid=51134). Happy searching!
     

进入example/exampledocs文件夹,导入books.csv

导入books.csv文件,使用如下命令

[root@hadoop exampledocs]# java  -Dtype=text/csv -Durl=http://192.168.1.66:8983/solr/jcg/update -jar post.jar books.csv
SimplePostTool version 5.0.0
Posting files to [base] url http://192.168.1.66:8983/solr/jcg/update using content-type text/csv...
POSTing file books.csv to [base]
1 files indexed.
COMMITting Solr index changes to http://192.168.1.66:8983/solr/jcg/update...
Time spent: 0:00:00.211

这样创建索引的过程就完成了。

4、查询
image.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
6天前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
6天前
|
API
GEE案例分析——利用sentinel-3数据计算空气污染指数(Air Pollution Index,简称API)
GEE案例分析——利用sentinel-3数据计算空气污染指数(Air Pollution Index,简称API)
123 0
|
6天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之DataWorks体验案例绑定如何绑定到正确的maxcomputer引擎上
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6天前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
48 0
|
6天前
|
分布式计算 Java Hadoop
大数据实战——WordCount案例实践
大数据实战——WordCount案例实践
7 0
|
6天前
|
数据可视化 大数据 数据挖掘
瓴羊荣获2023虎啸奖“年度十大AI&大数据服务公司”“数智营销案例铜奖”双重大奖
瓴羊荣获2023虎啸奖“年度十大AI&大数据服务公司”“数智营销案例铜奖”双重大奖
|
6天前
|
自然语言处理 搜索推荐 大数据
Python大数据之PySpark(七)SparkCore案例
Python大数据之PySpark(七)SparkCore案例
48 0
|
6天前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
|
4天前
|
运维 Linux Docker
Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享
Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享
|
6天前
|
运维 网络协议 Linux
【专栏】 20 个 Linux 命令,运维工程师工作时最常用的
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。