solr的简单使用说明

标签: solr | 发表时间:2015-05-02 21:24 | 作者:u012875880
出处:http://blog.csdn.net


1.安装solr

solr的安装比较简单,本例中使用solr-4.10.3版本,直接将下载好的安装包solr-4.10.3.zip解压至指定目录就好了。
2.启动solr
进入$SOLR_HOME/example目录下,执行 java -jar start.jar就可以了,默认开启的端口为8983
3.上传测试数据至solr:
进入到$SOLR_HOME/example/exampledocs目录,可以通过命令java -jar post.jar solr.xml monitor.xml进行文件上传
上传数据至solr时,solr会自动建立索引。以上命令默认会将数据上传至collection1中。
相当于:
java -Durl=http://localhost:8983/solr/collection1/update -jar SOLR_HOME/example/exampledocs/post.jar  solr.xml monitor.xml
如果要指定上传的数据进入到哪个collection,可以通过上面命令操作
4.配置solr
4.1 增加collection
solr默认有一个collection1,如果需要新增collection2,可以将$SOLR_HOME/example/solr中的collection1复制到当前目录,并重命名为collection2,
然后进入到collection2目录中修改配置文件core.properties文件,将“name=collection1”改为“name=collection2”,然后重启solr就可以了
4.2 增加字段
我们在向solr上传数据时,要按照solr规定的数据格式来组织好数据,数据类型可以为xml、json、csv等(solr中对文件的后缀名不关心,可以没有后缀名),但每种数据类型都有统一的格式规范,也可以说是字段规范,数据格式规范是在$SOLR_HOME/example/solr/collection1/conf/schema.xml文件中进行配置,其中,在collection1中已经有了默认提供的诸如
id(主键,不可重命名)、name、price等字段。
比如,xml类型的文档的数据格式参如下:
    
<add>
    <doc>
    <!-- id为主键-->
    <field name="id">3007WFP</field>
    <field name="name">Dell Widescreen UltraSharp 3007WFP</field>
    <field name="manu">Dell, Inc.</field>
    <!-- Join -->
    <field name="manu_id_s">dell</field>
    <field name="cat">electronics and computer1</field>
    <field name="features">30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast</field>
    <field name="includes">USB cable</field>
    <field name="weight">401.6</field>
    <field name="price">2199</field>
    <field name="popularity">6</field>
    <field name="inStock">true</field>
    <!-- Buffalo store -->
    <field name="store">43.17614,-90.57341</field>
    </doc>
     <doc>******</doc>
</add>


如果需要新增字段的话,只要在配置文件中新增一条配置就行了,比如,新增"tag"字段:
<field name="tag" type="text_general" indexed="true" stored="true"/>
然后重启solr就可以了,这时就可以上传具有如下数据结构的文件了。
    
<add>
<doc><field name='id'>1001</field><field name='tag'>腾讯:1 社交/沟通,通信,即时通信:1 资讯:1</field></doc>
<doc><field name='id'> 1002 </field><field name='tag'>搜狗:1 工具/软件,应用,导航:1</field></doc>
<doc><field name='id'> 1003 </field><field name='tag'>社交/沟通,通信,即时通信:1</field></doc>
<doc><field name='id'> 1004 </field><field name='tag'>腾讯:1 资讯:1</field></doc>
<doc><field name='id'> 1005 </field><field name='tag'>腾讯:1 资讯:1</field></doc>
</add>
在solr中,提供了许多动态字段类型,这样就可以无需修改schema.xml配置增加字段就可以自定义数据类型了。
比如,我们可以用"age_i"自定义int型字段age_i,用"contry_s"自定义String类型字段contry_s,其中"*_i"表示Int型,
"*_s"表示String型,其他的自定义数据类型参考如下(在schema.xml中查看):



5.solr查询
5.1 界面查询
可以通过 http://localhost:8983/solr/#/collection1 进入collection的界面


进入之后,可以再左侧的选择框中切换collection。点击“query”就可以进去查询界面了,或者直接通过地址“ http://localhost:8983/solr/#/collection1/query进入


上图中,蓝色框用来输入查询条件,*:*表示检索所有的数据,冒号":"左表是关键字,右边是关键字的值,如果为*表示所有。
比如“id:1001”表示查询id值为1001的数据,“name:jack”表示查询name值为jack的数据 ,"name:*"表示查询所有有name字段的数据;
红色方框中用来选择查询结果返回的数据类型,可以选择xml、json、csv、python等类型。比如:


其中,查询条件是查询tag字段为"腾讯视频"的数据,在responseHeader中表示传入的相关参数说明,q表示查询的字段,wt表示返回的数据类型
在response中表示具体的查询结果,其中nameFound表示查询到的记录数量,start表示显示第几页,默认0表示显示第一页(其实,还有rows字段,默认为每页显示10条记录)
5.2 通过接口查询:
http://localhost:8983/solr/collection1/select?q=id:1001&wt=json&start=2&rows=100&indent=true
其中,检索的collection为collection1,查询条件为id等于1001,返回数据类型为json,显示第三页,每页显示100条数据
http://localhost:8983/solr/collection1/select?q=tag:"腾讯视频"&wt=json&indent=true
表示查询tag值为"腾讯视频"的记录(默认显示第一页,每页10条记录)
注:如果查询的关键字字段为string类型,参数需要用引号("")括起来



作者:u012875880 发表于2015/5/2 13:24:40 原文链接
阅读:12 评论:0 查看评论

相关 [solr] 推荐:

Solr SpellCheck 应用

- - 开源软件 - ITeye博客
通过对各类型的SpellCheck组件学习,完成项目拼写检查功能. 本文使用基于拼写词典的实现方式,solr版本为5.3.0. SpellCheck 简述. 拼写检查是对用户错误输入,响应正确的检查建议. 比如输入:周杰轮,响应:你是不是想找 周杰伦. Solr的拼写检查大致可分为两类,基于词典与基于Solr索引.

Solr DocValues详解

- - 企业架构 - ITeye博客
什么是docValues. docValues是一种记录doc字段值的一种形式,在例如在结果排序和统计Facet查询时,需要通过docid取字段值的场景下是非常高效的. 为什么要使用docValues. 这种形式比老版本中利用fieldCache来实现正排查找更加高效,更加节省内存. 倒排索引将字段内存切分成一个term列表,每个term都对应着一个docid列表,这样一种结构使得查询能够非常快速,因为term对应的docid是现成就有的.

solr的使用

- - Web前端 - ITeye博客
solr的原理不和大家一一讲述,主要讲solr在使用过程中的注意事项.  首先是安装solr,安装步骤省略. (不要说我懒,安装步骤导出都是. 成功之后 需要在solr里面建立一个针对你的业务的服务,我想建立一个叫做discuz的服务. 然后你在你的solr目录 :solr-5.5.3/server/solr/  下看见了discuz   ,这是你刚刚创建的,针对某一业务的整个搜索配置都是在这个目录下配置的.

Solr调优参考

- - 淘宝网通用产品团队博客
共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性. 务必根据具体应用特性,具体调节参数,对比性能. 具体应用需要全面去把控,各个因素一起起作用. 第一部分. E文连接 http://wiki.apache.org/solr/SolrPerformanceFactors.

Solr之缓存篇

- - 淘宝网综合业务平台团队博客
Solr在Lucene之上开发了很多Cache功能,从目前提供的Cache类型有:. 而每种Cache针对具体的查询请求进行对应的Cache. 本文将从几个方面来阐述上述几种Cache在Solr的运用,具体如下:. (1)Cache的生命周期. (2)Cache的使用场景. (3)Cache的配置介绍.

Solr主从备份

- - 研发管理 - ITeye博客
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可. 以下讲解具体操作步骤: . 步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样.

solr相似匹配

- - CSDN博客推荐文章
相似匹配   在我们使用网页搜索时,会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档. Solr 使用 MoreLikeThisComponent(MLT)和 MoreLikeThisHandler 实现了一样的功能. 如上所述,MLT 是与标准 SolrRequestHandler 集成在一起的;MoreLikeThisHandler 与 MLT 结合在一起,并添加了一些其他选项,但它要求发布一个单一的请求.

Solr与Mysql集成指南

- sun - 草根网:互联网界的读者文摘
在《企业级搜索引擎Solr使用入门指南》及《企业级搜索引擎Solr交流》中对Solr的使用做了简单介绍. 在数据库驱动的应用中,当时采....

Solr\Lucene优劣势分析

- - 淘宝网综合业务平台团队博客
最早lucene2.4以及以前,追溯到2008年前后,lucene刚刚引起大家的关注,到后来Nutch. 、solr的出现,lucene变得更加热. Nutch、Solr的发展,极大推动了lucene的升级. 对于一些接触过搜索,使用过lucene、solr的人来说,一般都会感觉lucene、solr很牛逼.