利用SOLR搭建企业搜索平台 之——配置文件

  运行solr是个很简单的事,如何让solr高效运行你的项目,这个就不容易了。要考虑的因素太多。这里很重要一个就是对solr的配置要了解。懂得配置文件每个配置项
的含义,这样操作起来就会如鱼得水!
  在solr里面主要的就是solr的主目录下面的 schema.xml,solrConfig.xml,如果你看过前两篇文章的话,你应该知道solr的主目录处于什么位置(c:/solr- tomcat/sol
r/conf/)。

  在这个文章中,我们首先来说说这个schema.xml。
   schema.xml,这个相当于数据表配置文件,它定义了加入索引的数据的数据类型的。主要包括types、fields和其他的一些缺省设置。

   1、首先需要在types结点内定义一个FieldType子结点,包括name,class,positionIncrementGap等等一些参 数,name就是这个FieldType的名称,class指向
org.apache.solr.analysis包里面对应的class名称,用来定义 这个类型的行为。在FieldType定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要
使用的分析器analyzer,包括分词和过滤。在例子中text这个FieldType在定义的时候,在index的analyzer中使用 solr.WhitespaceTokenizerFactory这个分词包,就是空格
分词,然后使用 solr.StopFilterFactory,solr.WordDelimiterFilterFactory,solr.LowerCaseFilterFactory,solr.EnglishPorterFilterFactory,
solr.RemoveDuplicatesTokenFilterFactory 这几个过滤器。在向索引库中添加text类型的索引的时候,Solr会首先用空格进行分词,然后把分词结果依次使用指定的过滤
器进行过滤,最后剩下的结果 才会加入到索引库中以备查询。Solr的analysis包并没有带支持中文的包,在第二篇文章中详细讲了怎样添加paoding中文分词器,详情请参
见http://lianj-lee.javaeye.com/blog/424474

   2、接下来的工作就是在fields结点内定义具体的字段(类似数据库中的字段),就是filed,filed定义包括name,type(为之前定义 过的各种FieldType),
indexed(是否被索引),stored(是否被储存),multiValued(是否有多个值)等等。

<fields> 
 <field name="id"  type="integer" indexed="true" stored="true" required="true" /> 
  <field name="name" type="text" indexed="true" stored="true" /> 
  <field name="summary" type="text" indexed="true" stored="true" /> 
  <field name="author" type="string" indexed="true" stored="true" />  
 <field name="date" type="date" indexed="false" stored="true"  /> 
 <field name="content" type="text" indexed="true"  stored="false" /> 
 <field name="keywords" type="keyword_text"  indexed="true" stored="false" multiValued="true" /> 
 <field  name="all" type="text" indexed="true" stored="false"  multiValued="true"/> 
</fields>

  field的定义相当重要,有几个技巧需 注意一下,对可能存在多值得字段尽量设置multiValued属性为true,避免建索引是抛出错误;如果不需要存储相应字段值,尽量
将stored属 性设为false。

  3、建议建立了一个拷贝字段,将所有的全文字段复制到一个字段中,以便进行统一的检索:

<field name="all" type="text" indexed="true"  stored="false" multiValued="true"/>

并在拷贝字段结点处完成拷贝设置:

<copyField source="name" dest="all"/> 
<copyField  source="summary" dest="all"/>

  4、除此之外,还可以定义动态字段,所谓动态字段就是不用指定具 体的名称,只要定义字段名称的规则,例如定义一个 dynamicField,name 为*_i,定义它的type为
text,那么在使用这个字段的时候,任何以_i结尾的字段都被认为是符合这个定义的,例 如:name_i,gender_i,school_i等。

时间: 2024-10-23 08:53:12

利用SOLR搭建企业搜索平台 之——配置文件的相关文章

利用SOLR搭建企业搜索平台 之——MultiCore

Solr Multicore 是 solr 1.3 的新特性.其目是一个solr实例,可以有多个搜索应用. 下面着手来将solr给出的一个example跑出来.这篇文章是基于<利用SOLR搭建企业搜索平台 之——运行solr>,有不明白的请参见http://lianj-lee.javaeye.com/blog/424383 1. 找到solr下载包中的example文件夹,在它的下面有个multicore文件夹,将这个文件夹下面的所有东西copy到 c:/solr-tomcat/solr下面.

利用SOLR搭建企业搜索平台 之——solr配置solrconfig.xml

solrconfig.xml这个配置文件可以在你下载solr包的安装解压目录的E:\Work\solr-4.2.0-src-idea\solr\example\solr\collection1\conf中找到,这个配置文件内容有点多,主要内容有:使用的lib配置,包含依赖的jar和Solr的一些插件;组件信息配置;索引配置和查询配置,下面详细说一下索引配置和查询配置. 1索引indexConfig Solr 性能因素,来了解与各种更改相关的性能权衡. 下表概括了可控制 Solr 索引处理的各种因

利用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文件属

利用SOLR搭建企业搜索平台 之——solr的查询语法

  1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称. 2. 查询规则: 如欲查询特定字段(非预设字段),请在查询词前加上该字段名称加 “:” (不包含”号) 符号, 例如: address:北京市海淀区上地软件园 tel:88xxxxx1 1>. q代表query input 2>. version代表solr版本(建议不要变动此变量) 3>. start

利用SOLR搭建企业搜索平台 之——运行solr

 1. 首先下载好solr,我用的是 solr1.3,下载地址: windows版本 http://labs.xiaonei.com/apache-m ... ache-solr-1.3.0.zip  linux版本 http://labs.xiaonei.com/apache-m ... ache-solr-1.3.0.tgz  2. 准备运行容器,我用的是tomcat6.0.20.如果是玩的话,也可以不用准 备专门的容易,你只需解压好solr的下载包,找到 example文件夹,然后运行 s

利用SOLR搭建企业搜索平台 之——Solr索引基本操作

来源:http://blog.csdn.net/zx13525079024/article/details/25367239 我们来看下通过界面来操作SOLR,包括SOLR索引的添加,查询等基本操作. 所有的基本操作都通过如下地址来完成 http://localhost:8040/Solr/#/collection1/documents 1.添加和修改 点击界面做出的documents链接,索引的添加修改都是在这个界面完成的. Request-Handler 表示操作方式 Document Ty

SOLR企业搜索平台 一 (搭建SOLR)

前提是已经安装了java的环境,环境变量的配置不做为讲解,网上也有大量资料.下面以linux为例来说明如何搭建好一个solr 1)首先下载solr,下载地址:http://mirror.bit.edu.cn/apache/lucene/solr/ 2)准备运行容器,我用的是tomcat-7.0.27. 也可以不用准备专门的容器,只需解压好solr,找到example文件夹,然后运行 start.jar.具体指令:java -jar start.jar.做应用的时候,不建议采用该方式.该方式内部包

Python之利用Whoosh搭建轻量级搜索

??本文将简单介绍Python中的一个轻量级搜索工具Whoosh,并给出相应的使用示例代码. Whoosh简介 ??Whoosh由Matt Chaput创建,它一开始是一个为Houdini 3D动画软件包的在线文档提供简单.快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源. ??Whoosh纯由Python编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持Python2.3,其优点如下: Whoosh纯由Python编写而成,但很快,只需要Python环境即可,不

利用sharepoint搭建OA平台

基于sharepoint搭建的OA平台是新一代办公平台,具有很强的集成性和可扩展性,利用sharepoint搭建的OA平台等于同时拥有企业信息门户和OA两套系统,同时能够与微软的其它系统无缝集成,但sharepoint由于技术复杂.涉及面广,国内专业从事sharepoint开发的公司相对较少,而技术实力雄厚的sharepoint开发商就更少,但是SharePoint作为微软公司发布的协同门户平台,经过将近10年的发展,不但所有微软架构企业应用都在遵守其界面及数据标准,其他技术平台应用也逐渐对其开