运行solr是个很简单的事,如何让solr高效运行你的项目,这个就不容易了。要考虑的因素太多。这里很重要一
个就是对solr的配置要了解。懂得配置文件每个配置项的含义,这样操作起来就会如鱼得水!
在solr里面主要的就是solr的主目录下面的schema.xml,solrConfig.xml,(c:\solr-tomcat\solr\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包并没有带支持中文的包,
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等。
相关推荐
本文将详细阐述如何利用SOLR搭建一个企业搜索平台,包括所需环境、配置步骤以及中文分词的设置。 一、SOLR搭建企业搜索平台 1. **运行环境** - **运行容器**:Tomcat 6.0.20 - **Solr版本**:apache-solr-1.4.0 ...
标题中的“利用Solr搭建你的搜索引擎”意味着我们将探讨Apache Solr这一开源全文搜索平台的搭建过程。Solr是基于Lucene库的,提供了一个高效、可扩展的搜索和导航功能,广泛应用于各种企业的数据检索需求。 Solr的...
本文将详细介绍如何搭建Solr环境,并解析其配置文件,同时也会涉及SolrJ客户端的使用。 **一、Solr环境搭建** 1. **系统需求**: Solr可以在多种操作系统上运行,包括Windows、Linux和Mac OS。确保你的系统已安装...
通过这种方式,可以有效地利用Solr强大的搜索功能对数据库中的数据进行高效检索,满足大数据量下的快速搜索需求。在实际应用中,根据具体的需求可能还需要进一步调整Solr的配置参数以优化性能。
Solr集群搭建是一个复杂但重要的过程,用于实现大型、高可用性和可扩展性的搜索解决方案。Apache Solr是一款基于Lucene的开源全文搜索引擎,它提供了分布式搜索、近实时处理、多字段排序等功能。以下是对Solr集群...
接着,我们需要在每个Solr节点的配置文件中指定Zookeeper集群的地址,这样SolrCloud就能利用Zookeeper进行集群管理和数据分布。 总结,本教程详细介绍了如何在Win7系统下搭建单机版的伪分布式SolrCloud环境,包括...
### 使用Lucene Solr搭建Oracle数据库全文搜索服务 #### 一、基础知识介绍 - **Lucene**: 是一个高性能、全功能的全文检索引擎库。它为开发者提供了构建搜索应用程序所需的工具,但不提供完整的搜索应用。 - **...
Solr 是一个强大的全文搜索引擎,源自 Apache 软件基金会,并且是 Apache Lucene 的一个分支。...在 CentOS_x64_6.5 系统上搭建 Solr 搜索服务,可以为企业或项目提供强大的搜索功能,极大地提升用户体验。
Apache Solr是一款开源的企业级搜索平台,由Apache软件基金会开发,它提供了全文检索、命中高亮、拼写检查、Faceted Search(分面搜索)等多种功能,广泛应用于网站内容搜索、电商商品检索等领域。本文将详细介绍...
Solr是一个独立的基于全文检索的企业级搜索应用服务器,它支持通过HTTP利用XML将文档加载到搜索集合中,用户可以通过HttpGet操作发送查找请求,并得到搜索的返回结果。在Java后台开发中,Solr通过SolrJ客户端库与...
在《使用 Apache Solr 实现更加灵巧的搜索,第 1 部分 基本特性和 Solr 模式》文档中,你可能会学习到更多关于 Solr 的基础特性,如查询优化、分词器选择、查询分析过程以及如何利用 Solr 的模式设计来提升搜索体验...
### Solr集群搭建与SolrCloud分布式搜索方案详解 #### 一、SolrCloud概述 SolrCloud 是 Apache Solr 提供的一种分布式搜索解决方案。它主要用于处理大规模数据集的索引和检索工作,并具备容错性和分布式特性。当...
"教你使用solr搭建你的全文检索.mht"文件是一个教程,指导用户如何从零开始搭建Solr全文检索系统。全 文检索是Solr的主要功能,包括字段匹配、模糊搜索、高亮显示等,搭建过程涉及Solr的安装、配置、数据导入和搜索...
在结合Tomcat9作为应用服务器后,可以提供一个稳定且可扩展的平台,用于搭建企业的全文检索服务。本配置成功案例主要涉及了几个关键点:Solr8的安装与配置、Tomcat9的部署、实时数据库批量更新以及IK中文分词器的...
3. **配置灵活**:Solr的配置文件(如solrconfig.xml和schema.xml)提供了高度自定义的能力,可以根据业务需求调整搜索策略和字段设置。 4. **分布式搜索**:Solr 4.9.0 支持分布式搜索,可以将索引分散在多台...
你可以根据需求自定义这些配置文件,如`schema.xml`用于定义字段和类型,`solrconfig.xml`用于配置索引和查询行为。 索引数据是Solr的主要任务。Solr支持多种数据导入方式,如使用SolrJ Java库、命令行工具或直接...