Solr使用初探——Solr的安装环境与配置

Solr是一个apache名下很好用的开源索引、搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结。文中涉及到的配置方法并不唯一,API的用法也未必规范,仅希望能够通过此文让大家对solr更快的入手。

一、Solr的安装环境与配置:

1、  下载所需软件,安装配置Tomcat

首先下载Tomcat与Solr,Tomcat可在各软件网站下载得到,Solr下载地址如下:

http://mirror.bjtu.edu.cn/apache/lucene/solr/1.4.1/apache-solr-1.4.1.zip

Tomcat按照安装流程进行即可,本文中Tomcat安装在X盘下,设置监听端口时改为8983(默认为8080),当然也可以在配置文件中修改,路径为X:\Tomcat 6.0\conf\server.xml,并添加编码格式为UTF-8以使得Solr能够正确解析url递送的查询要求。

<Connector port="8983" protocol="HTTP/1.1" connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

2、构建文件目录

将apache-solr- 1.4.1.zip解压到某文件夹,目录如下图所示:

在X盘下建立目录solr,将解压文件中的example文件夹下的内容全部拷贝到solr中,此时solr文件夹下会有一个名为webapps的空文件夹,将解压文件夹中的dist文件夹下的apache-solr-1.4.1.war文件拷贝到webapps中,重命名为solr.war。

3、配置Solr工作环境

在Tomcat中注册Solr。在X:\Tomcat 6.0\conf\Catalina\localhost下(目录不存在则手工建)创建配置文件solr.xml,内容为:

<Context docBase="X:/solr/webapps/solr.war" reloadable="true" >

<Environment name="solr/home" type="java.lang.String" value="X:/solr/solr" override="true" />

</Context>

docBase为网页发布内容,Environment为solr的配置环境。

4、配置索引数据格式

在X:\solr\solr\conf当中有schema.xml文件,可以配置索引数据格式。scheme.xml虽然较长但注释丰富,而且大部分内容属于数据类型的定义,我们只需要在<fields> 、</fields>标签之间添加自己的数据即可。当然,我们也可以自定义类型。

以样例中的第一个字段为例:

<field name="id" type="string" indexed="true" stored="true" required="true" />

类型为string,需要索引,需要存储,是一个不可为空的字段,简单易懂。

其他配置如下:

<uniqueKey>id</uniqueKey>

配置整个索引中唯一的键值,用来区分不同的索引条目。

<defaultSearchField>text</defaultSearchField>

默认的搜索字段,如果在搜索时不特殊指定字段,则会搜索这一字段。

<solrQueryParser defaultOperator="OR" />

搜索时对同一字段不同关键字的处理方法,根据项目需要选择“与”或者“或”。

<copyField source="cat" dest="text" />

<copyField source="name" dest="text" />

…………

默认搜索字段较多时可以这样设置,如果只有一个字段待搜索,那么只需在defaultSearchField中配置。

5、运行solr

启动Tomcat,访问http://localhost:8983/solr/admin/ 即可见到主页,从上至下共三部分,配置状态、查询与帮助链接。

http://localhost:8983/solr/admin/analysis.jsp 页面可以考察分词器的工作情况;

http://localhost:8983/solr/admin/form.jsp 页面可以模拟搜索请求构建请求url。

在solr配置完毕后第一次启动Tomcat时,Tomcat中会出现很多新的文件及文件夹。在Tomcat下会出现一个solr文件夹,那里用来存放索引;在Tomcat的webapps文件夹下也会出先一个solr文件夹,存放web工程;在Tomcat的logs文件夹下会出下catalina开头的日志文件,我们可以查找solr的载入异常以及索引与查询的url记录。

6、添加索引

在Tomcat与Solr开启的情况下,我们可以添加索引。进入X:\solr\exampledocs文件夹我们可以看到很多xml文件,以及post.jar文件,这里就是用来储存xml格式的待索引文件的地方。打开solr.xml我们可以看到:

<add>

<doc>

<field name="id">SOLR1000</field>

<field name="name">Solr, the Enterprise Search Server</field>

<field name="manu">Apache Software Foundation</field>

…………

<field name="incubationdate_dt">2006-01-17T00:00:00.000Z</field>

</doc>

</add>

add标签表明这是要添加一个索引(其他标签参考solr的文档或者solr wiki),各个字段均有数据,请注意最后一行date类型的数据,与java中的不同。

那么怎样能够将这个xml传送到solr进行索引呢,这就要用到post.jar。开启命令行,进入post.jar所在文件夹,运行:

java -Durl=http://localhost:8983/solr/update -Dcommit=yes -jar post.jar *.xml

程序运行成功索引便被加入。添加索引还可以通过solr提供的java接口solrj编程实现,在下面我们会讲到。

索引添加成功之后便可以通过上面提到的solr网页接口进行搜索测试。

7、添加中文分词

笔者使用的是IKAnalyzer的最新版本IKAnalyzer3.2.5Stable.jar,对Solr提供了较好的支持,可以在各软件网站或CSDN较容易的搜索到。使用时将IKAnalyzer3.2.5Stable.ja放置在X:\Tomcat 6.0\webapps\solr\WEB-INF\lib文件夹下。

由于Solr默认选用的是lucene相应版本自带的分词器,所以要修改配置才能转换为IKAnalyzer。同样是修改X:\solr\solr\conf下的schema.xml文件,修改部分用红色标示出:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">

<analyzer type="index">

<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" />

…………

</analyzer>

<analyzer type="query">

<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" />

…………

</analyzer>

</fieldType>

分词器均为IKAnalyzer自带的支持solr的IKTokenizerFactory,在索引时不按照最大匹配进行分词,而在搜索时按照最大匹配进行分词。

IKAnalyzer也支持用户自定义词典。首先在X:\Tomcat 6.0\webapps\solr\WEB-INF\下建立classes文件夹,在classes文件夹中新建IKAnalyzer.cfg.xml文件,内容为:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE properties (View Source for full doctype...)>

<properties version="1.0">

<comment>IK Analyzer 扩展配置</comment>

<entry key="ext_dict">/mydict.dic</entry>

<entry key="ext_stopwords">/mystopword.dic</entry>

</properties>

mydict.dic为自定义分词词典,mystopword.dic为自定义停词词典,dic文件应当被保存为UTF-8格式,首行为空行,每个词占一行。dic文件的存放位置也是classes目录。

时间: 2024-11-10 14:37:44

Solr使用初探——Solr的安装环境与配置的相关文章

solrcloud(solr集群版)安装与配置

1 Solr集群 1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1)集中式的配置

Solr学习总结 Solr的安装与配置

接着前一篇,这里总结下Solr的安装与配置 1.准备 1.安装Java8 和 Tomcat9 ,java和tomcat 的安装这里不再重复.需要注意的是这两个的版本兼容问题.貌似java8 不支持,tomcat7 以下版本. 2.下载 solr安装包,目前的最新版本是  5.3.1 下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/5.3.1 2.安装 1.  将 solr 压缩包解压,并将solr-5.3.1\server\solr-w

solr(1):简介与配置

一.简介 1.1.solr是什么 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引.搜索性能进行了优化. Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务. 二.配置 1.在solr中默认是中文分析器,需要手工配置.配置一个FieldType,在FieldType中指定中文分析器. 2.Solr中的字段必须是先定义后使用. 2.1.配置中文分析

solr添加中文IK分词器,以及配置自定义词库

Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置,而且附带了一个基于HTTP 的管理界面.Solr已经在众多大型的网站中使用,较为成熟和稳定.Solr 包装并扩展了Lucene,所以Solr的基本上沿用了Lucene的相关术语.更重要的是,Solr 创建的索引与 Lucene搜索引擎库完全兼容.通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以

solr在windows下的安装及配置

solr在windows下的安装及配置 2017-04-28 13:59 122人阅读 评论(0) 收藏 举报 .embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed } .embody_b { margin: 0; padding: 10px 0 } .embody .embody_t,.embody .embody_c { display: inline-block; margi

Solr使用初探——SolrJ的使用

二.SolrJ的使用 SolrJ覆盖了solr的全部功能,下面将自己在实际开发中所使用的程序粘贴出来并适当加以解释,由于本人比较菜,代码书写不是那么的精练,还请见谅. 1.  创建solrserver对象: try { solr = new CommonsHttpSolrServer("http://localhost:8983/solr"); solr.setConnectionTimeout(100); solr.setDefaultMaxConnectionsPerHost(10

solr入门之solr安全控制的研究和实践(二)

Permission Attributes(权限属性) 每个用户又一个或者几个权限组成,每个权限由几个定义过可以做哪些事的属性组成. 下面有一些不能被修改的预定义权限: Pre-defined Permissions 有一些预定义的权限.这些固定的默认值,不能修改,无法添加新属性.要使用这些属性,只需定义一个角色,包括这个权限, 然后给一个用户分配角色. security-edit: 该许可允许编辑安全配置,这意味着任何更新的操作修改security.json 通过api将被允许. securi

从老solr导入新solr

#!/usr/bin/python import solr import re import urllib import pycurl import cStringIO import collections import operator import string import json import pysolr def solr_update(value): pass def function(value): value_1={} keys=value.keys() t1=value[ke

利用SOLR搭建企业搜索平台 之——模式配置Schema.xml

来源:http://blog.csdn.net/awj3584/article/details/16963525 schema.xml这个配置文件可以在你下载solr包的安装解压目录的\solr\example\solr\collection1\conf中找到,它就是solr模式关联的文件.打开这个配置文件,你会发现有详细的注释.模式组织主要分为三个重要配置 1. types 部分 是一些常见的可重用定义,定义了 Solr(和 Lucene)如何处理 Field.也就是添加到索引中的xml文件属