环境要求
jdk1.6及以上版本
solr发布版本
下载地址
http://lucene.apache.org/solr/mirrors-solr-latest-redir.html?
启动solr
1、解压solr-4.5.0.zip到你想到存放的路径,比如:d:/solr
2、cmd打开命令行窗口,进入d:/solr/example目录
3、执行命令:java -jar start.jar
4、通过第三步以后,系统会启动solr自带的jetty服务器,通过http://localhost:8983/solr/便可访问solr。
此时,solr已成功启动
创建索引
此时solr已安装并启动,但是还没有索引,只有创建好索引,搜索才能有结果
1、cmd进入/solr/example/exampledocs目录
2、执行命令:java -jar post.jar solr.xml monitor.xml,此时你已成功提交了2个solr文档
3、执行完第二步后,我们可以通过浏览器访问:http://localhost:8983/solr/collection1/select?q=solr&wt=xml
如果你想导入更多的文档,执行命令:java -jar post.jar *.xml
更新索引
当你重复执行命令:java -jar post.jar *.xml后,发现搜索的结果没有出现重复的数据,原因:example目录下的schema.xml中指定了列id为uniqueKey(即:唯一),所以当你重复提交数据到索引库时,id相同的数据会替换原来document中的数据。
如果你想要得到重复的数据,你可以通过修改exampledocs目录下*.xml中id值的方式实现
删除索引
1、执行命令:java -Ddata=args -Dcommit=false -jar post.jar “<delete><id>SP2514N</id></delete>”,可以删除id为SP2514N的document
2、执行第一步后,再去搜索发现搜索结果中还有id为SP2514N的数据,难道我们第一步删除不成功吗?其实不是,因为第一步的命令中-Dcommit=false,所以第一步的删除操作没有提交到索引(index)中。
3、在没有打开新的searcher之前,第一步删除数据会一直存在于搜索结果中,所以我们可以强制打开一个新的searcher,执行命令:java -jar post.jar -
查询数据
solr通过http以get的方式进行搜索数据,如:http://localhost:8983/solr/collection1/select?q=solr&wt=xml
q:查询的关键词(此时查询的字段是solrconfig.xml中指定的默认查询字段<str name=”df”>text</str>)
fl:搜索结果返回的字段
sort:排序
wt:搜索结果返回格式
- q=video&fl=name,id (return only name and id fields)
- q=video&fl=name,id,score (return relevancy score as well)
- q=video&fl=*,score (return all stored fields, as well as relevancy score)
- q=video&sort=price desc&fl=name,id,price (add sort specification: sort by price descending)
- q=video&wt=json (return response in JSON format)
排序
sorl提供了通过一个或多个字段进行排序的方法,使用sort参数,参数格式为“字段 排序(asc或desc)”。
score也可以用来排序
复杂的排序
如果没有指定sort参数,默认”score desc”进行排序,把匹配度最高的优先显示
高亮显示
有时候我们想高亮显示匹配的关键词,可以通过参数hl=true,并指定需高亮显示的字段hl.fl=name,features
…&q=video card&fl=name,id&hl=true&hl.fl=name,features
默认会把匹配的关键用“<em>”标签进行包装,如<em>手机</em>
门面搜索
前面“查询数据”一栏返回的是整个文档的数据,门面搜索可以根据我们的需求返回结果,如下:
1、以下例子搜索整个文档并根据字段cat技术匹配数量:
…&q=*:*&facet=true&facet.field=cat
注意:上面的例子虽然结果中只显示10条,但返回的数量是整个文档中匹配查询条件的总的数量。
2、在例子1的基础上可以再加一个字段inStock:
…&q=*:*&facet=true&facet.field=cat&facet.field=inStock
3、solr同样可以为任意查询条件计算数量,以下例子查询关键为ipod、价格在0-99和>100
…&q=ipod&facet=true&facet.query=price:[0 TO 100]&facet.query=price:[100 TO *]
4、以下例子查询字段manufacturedate_dt在2004年到2010年:
搜索界面
solr提供了搜索界面:http://localhost:8983/solr/collection1/browse
文本解析
solr创建索引和进行搜索时都需要对文字进行解析,解析时需要用到分词器,中文的分词器我推荐使用mmseg4j分词器
solr核心的配置文件是schema.xml,索引库结构的定义及对每个字段采用什么分词器等都在这个文件里面进行配置
如:
<field name=”features” type=”text_en_splitting” indexed=”true” stored=”true” multiValued=”true”/>
结论
通过以上的学习,相信你已经对solr有个初步的掌握了。在兴奋之余我相信你肯定想把solr运用到自己的项目中,那么你可以通过以下步骤实现:
1、拷贝example目录到你的项目中,example目录作为进行定制
2、根据你的实际需求修改schema和solr/collection1/conf/目录下的其他文件
本文出自 luoshengsha.com,转载时请注明出处及相应链接。
相关推荐
Solr 4.5 版本是Apache Solr的一个重要里程碑,它是一个开源的企业级全文搜索引擎,基于Java语言开发,提供了高效、可扩展的搜索和分析能力。在Solr 4.5中,包含了多种核心功能和改进,使得它成为企业级数据搜索和...
solr4.5下载、解压、部署说明,tomcat部署说明,IK中文分词部署说明
1. `server`:这是Solr的核心运行环境,包含Jetty服务器、Solr的管理界面(Solr Admin UI)和相关的配置文件。 2. `example`:这是一个预配置的示例,用于快速启动和测试Solr,其中包含了默认的配置和一个简单的数据...
### Solr 5.3.1 集群搭建教程 - 线上环境搭建 #### 软件环境配置 本教程旨在详细介绍如何在Windows 7环境下搭建一个用于生产环境的高可靠性Solr 5.3.1集群。整个过程分为几个阶段:准备软件环境、部署单机版Tomcat...
文档的标签"apache solr solr4.5"明确指出了文档的主题与Solr的版本号,确保读者知道这是一份针对特定版本的使用手册。 文档的“Getting Started”部分是入门章节,会指导用户完成Solr的安装和初始设置。这个过程...
### Solr 4.7 服务搭建详细指南 #### 一、环境准备 为了搭建 Solr 4.7 服务,我们需要确保以下环境已经准备好: 1. **Java Development Kit (JDK) 1.7**:Solr 需要 Java 运行环境支持,这里我们选择 JDK 1.7 ...
Windows版本的单机Solr适用于在Windows操作系统上搭建和运行搜索服务,它提供了高效、可扩展的搜索和分析能力。这个压缩包包含了运行Solr所需的所有组件,包括Solr服务器、配置文件和相关的文档,方便用户在本地快速...
solr学习入门经典教程,赶紧学习吧,从solr的搭建讲起,中文分词器的配置
Solr服务器搭建是一个重要的步骤,它是Apache Lucene项目的一个企业级搜索平台,广泛应用于全文检索、数据索引和搜索解决方案。下面将详细讲解如何在Java 1.7和Tomcat 1.7环境下搭建Solr 4.10.3单机版。 一、Java...
【Solr搭建教程文档】 SolrCloud是Apache Solr的一个分布式搜索和索引服务的实现,它结合了Zookeeper来管理集群状态和分布式操作。本教程将指导你在Win7环境下搭建一个单机版的伪分布式SolrCloud环境,利用Tomcat...
其中,bin 目录包含 Solr 的运行脚本,contrib 目录包含一些贡献软件/插件,用于增强 Solr 的功能。dist 目录包含 build 过程中产生的 war 和 jar 文件,以及相关的依赖文件。docs 目录包含 Solr 的 API 文档。...
linux下搭建solr 完整教程,包括JDK、TOMCAT、SOLR及索引配置
**SOLR应用教程** **一、概述** 1.1 企业搜索引擎方案选型 在为企业选择搜索引擎解决方案时,需要考虑的关键因素包括处理能力、可扩展性、易用性、性能以及对特定业务需求的支持。Solr作为一种开源的企业级搜索...
### Solr学习入门教程知识点详解 #### 一、Solr概览 Solr是一个开源的企业级搜索服务器,采用Java作为底层开发语言,具备高度的可扩展性和灵活性。它通过标准的HTTP协议和XML格式进行通信,这意味着即使不精通Java...
根据给定的信息,本文将详细解释如何通过使用 JDK 1.8、Tomcat 8.0 和 Solr 6.0 来搭建一个完整的 Solr 服务端环境,并且会覆盖配置文件的具体设置方法。 ### 环境准备 #### 必需组件 - **Solr 版本**: solr-6.6.2...
本教程将引导你完成Solr的基本安装、配置以及数据库索引的建立,特别关注定时增量索引这一重要特性。 首先,从Apache官方网站下载Solr的最新稳定版本,例如5.1.0。解压缩文件到任何你喜欢的目录,比如F盘。接下来,...
标题中的“利用Solr搭建你的搜索引擎”意味着我们将探讨Apache Solr这一开源全文搜索平台的搭建过程。Solr是基于Lucene库的,提供了一个高效、可扩展的搜索和导航功能,广泛应用于各种企业的数据检索需求。 Solr的...
Solr是一个高性能、可伸缩的企业级搜索引擎平台,它可以作为一个独立的服务运行,并且提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到现有的应用程序中。Solr的主要特点包括高度可配置...
【Solr自学详细教程,吐血总结】 在IT领域,特别是在大数据处理和信息检索中,Apache Solr扮演着至关重要的角色。Solr是一款强大的、基于Java的全文搜索服务器,它建立在Lucene之上,提供了更高级的企业级搜索功能...