Solr Server服务器端安装配置
一、下载SOLR相关
http://mirror.bit.edu.cn/apache/lucene/solr/4.9.1/solr-4.9.1.zip
下载后解压到D:\skg\soft\solr-4.9.1
Solr-4.9.1程序包的目录结构
➔ contrib :存放爱好者贡献的代码。
➔ dist :存放Solr 构建完成的 JAR 文件、WAR 文件和 Solr 依赖的 JAR 文件。
➔ example :是一个安装好的Jetty 中间件,其中包括一些样本数据和 Solr 的配置信息。
➔ example/etc :Jetty 的配置文件。
➔ example/multicore :当安装Slor multicore 时,用来放置多个 Solr 主目录。
➔ example/example-DIH :可以作为solr的主目录,里面包含多个索引库,以及hsqldb的数据,里面有连接数据库的配置示例,以及邮件、rss的配置示例。
➔ example/solr :默认安装时一个Solr 的主目录。
➔ example/webapps :Solr 的 WAR 文件部署在这里。
➔ docs:Solr 的文档。
下载IKAnalyzer
http://download.csdn.net/detail/l444304541/5806281
下载后解压到D:\skg\soft\IKAnalyzer\IKAnalyzer2012FF_u1.jar
二、Tomcat 部署 Solr服务端
1.创建目录D:\skg\skg-solr-server\solr-web
2.解压D:\soft\solr-4.9.1\solr-4.9.1\example\webapps\solr.war 到 D:\skg\skg-solr-server\solr-web
3.复制D:\skg\soft\IKAnalyzer\IKAnalyzer2012FF_u1.jar 到 D:\skg\skg-solr-server\solr-web\WEB-INF\lib
4.创建目录 D:\skg\skg-solr-server\solr-home
5.复制D:\skg\soft\solr-4.9.1\example\solr 到 D:\skg\skg-solr-server\solr-home
6.重命名 D:\skg\skg-solr-server\solr-home\collection1 改为 D:\skg\skg-solr-server\solr-home\product
7.打开文件D:\skg\skg-solr-server\solr-home\product\core.properties
名称:name=collection1
改为:name = product
8.打开D:\skg\skg-solr-server\solr-web\WEB-INF\web.xml文件,修改 env-entry-value 为 solr_home目录路径
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>D:\skg\skg-solr-server\solr-home\</env-entry-value> </env-entry>
9.打开tomcat/conf/server.xml文件,添加下面配置
<Host name="localhost" appBase="webapps" unpackWARs="true"> <Context path="/solr" docBase="D:\skg\skg-solr-server\solr-web" reloadable="false"></Context> </Host>
10.启动tomcat ,浏览器转入 http://localhost/solr/
这看到这个界面表示安装成功,选择左边 core selector可以切换集合(集合类似数据表)。
选择 product下级Query菜单可以在线查询
三、设置solr schema.xml
备份D:\skg\skg-solr-server\solr-home\product\conf\schema.xml,修改 schema.xml如下,红色字是修改内容。
<?xml version="1.0" encoding="UTF-8" ?> <schema name="skg" version="1.5"> <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> </analyzer> </fieldType> <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> <!--字段类型 索引:默认分词 查询:最大词长分词--> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> <!--字段类型 索引:默认分词 查询:默认分词--> <fieldType name="text_cn" class="solr.TextField"> <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> <!--solr 版本号--> <field name="_version_" type="long" indexed="true" stored="true"/> <!--solr 唯一标识号--> <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <!--字段名称,类型--> <!--产品key:不索引、保存--> <field name="key" type="string" indexed="false" stored="true" /> <!--产品标题: ik分词、索引、保存--> <field name="title" type="text_ik" indexed="true" stored="true" /> <!--产品子标题: ik分词、索引、保存--> <field name="sub_title" type="text_ik" indexed="true" stored="true" /> <!--产品分类ID: ik分词、索引、保存--> <field name="cid" type="string" indexed="true" stored="true" /> <!--产品图片: 不索引、保存--> <field name="img" type="string" indexed="false" stored="true" /> <!--产品价格: 索引、保存--> <field name="price" type="double" indexed="true" stored="true" /> <!--产品属性: 索引、保存--> <field name="props" type="text_cn" indexed="true" stored="true" /> <!--产品描述: 索引、保存--> <field name="text" type="text_cn" indexed="true" stored="true" /> <!--产品所属地区: 索引、保存--> <field name="area" type="double" indexed="true" stored="true" /> <!--产品组合件数: 不索引、保存--> <field name="num" type="int" indexed="false" stored="true" /> <!--产品最后更新时间: 索引、保存--> <field name="time" type="long" indexed="true" stored="true" /> <!--产品状态: 不索引、保存--> <field name="status" type="string" indexed="false" stored="true" /> <!--产品所在地区: 索引、保存--> <field name="area_id" type="string" indexed="true" stored="true" /> <!--产品所在地城市: 索引、保存--> <field name="city_id" type="string" indexed="true" stored="true" /> <!--产品样式: 索引、保存--> <field name="style_id" type="string" indexed="true" stored="true" /> <!--字段名称,类型--> <!--唯一ID字段名称--> <uniqueKey>id</uniqueKey> <!--默认查询字段--> <defaultSearchField>title</defaultSearchField> <!--默认查询条件--> <solrQueryParser defaultOperator="OR"/> <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/> <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/> <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/> <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/> <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/> <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/> <fieldtype name="binary" class="solr.BinaryField"/> <fieldType name="random" class="solr.RandomSortField" indexed="true" /> <fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.ManagedStopFilterFactory" managed="english" /> <filter class="solr.ManagedSynonymFilterFactory" managed="english" /> </analyzer> </fieldType> <fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.EnglishPossessiveFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" /> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.EnglishPossessiveFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> </fieldType> <fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> </fieldType> <fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.EnglishMinimalStemFilterFactory"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> </fieldType> <fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true"> <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory" /> <filter class="solr.TrimFilterFactory" /> <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" /> </analyzer> </fieldType> <fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" > <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/> </analyzer> </fieldtype> <fieldtype name="payloads" stored="false" indexed="true" class="solr.TextField" > <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/> </analyzer> </fieldtype> <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory" /> </analyzer> </fieldType> <fieldType name="descendent_path" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.KeywordTokenizerFactory" /> </analyzer> </fieldType> <fieldType name="ancestor_path" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.KeywordTokenizerFactory" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" /> </analyzer> </fieldType> <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" /> <fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/> <fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" /> <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" /> <fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ar.txt" /> <filter class="solr.ArabicNormalizationFilterFactory"/> <filter class="solr.ArabicStemFilterFactory"/> </analyzer> </fieldType> </schema>
到这里 solr服务器端已安装配置完成。
相关推荐
这个版本包含了Solr的服务器端代码和配置文件,我们需要将它们部署到Tomcat上。 部署Solr到Tomcat的过程如下: 1. **创建Solr目录**:在Tomcat的webapps目录下,创建一个新的目录,命名为`solr`。 2. **复制Solr...
这些jar包通常位于Solr的`dist`或`server/lib`目录下,包括Solr的服务器端核心库、Jetty服务器、以及用于处理HTTP请求的Servlet库等。 5. **配置Tomcat**:将提取的jar包放入Tomcat的`lib`目录,使Tomcat能够识别和...
- `server`: 存放Solr服务器端代码,如SolrJetty容器、管理API等。 - `contrib`: 第三方贡献的模块,如数据导入工具等。 - `dist`: 发布的可执行文件和jar包。 - `docs`: 文档和API参考。 - `example`: 示例...
你需要先下载并解压solr6.3.0.zip文件,这将包含Solr的服务器端组件,如Web应用程序、配置文件以及必要的库。解压后,你将得到一个solr目录,其中包含`example`子目录,这个`example`目录是预配置的Solr实例。 接...
- `server` 目录:包含了Solr服务器端的所有组件,如启动脚本、配置文件、核心模块等。 - `example` 目录:提供了示例配置和运行环境,帮助用户快速启动和测试Solr。 - `dist` 目录:存放Solr的发行版文件,如预编译...
- **服务器端集成**:Solr可以轻松地与其他服务器端技术集成,如Java、Python等。 - **客户端JavaScript集成**:通过RESTful API与前端JavaScript框架无缝对接。 - **框架集成**:支持与Drupal等流行CMS系统的集成,...
- Solr 4.10.0包含了服务器端的Java应用程序,用于接收、索引和查询文档。主要文件夹有`bin`、`server`、`example`等,其中`bin`包含启动和管理Solr的脚本,`server`存放Solr服务器的运行时文件,`example`提供了一...
- `server`:Solr服务器端的代码,包括核心服务、Jetty服务器、配置文件等。 - `example`:预配置的Solr实例,包含示例数据和配置。 - `dist`:发布包和相关库文件。 - `src`:源代码,包括Java代码和测试用例。...
在服务器端,首先确保安装了必要的开发包,然后依次安装jmxtrans、rrdtool和Ganglia的相关软件包。在客户端,除了rrdtool之外,其他组件也需要安装,因为要监控Solr以及集群的基础信息。 4. **配置文件** - **...
在IT行业中,Linux操作系统是广泛应用于服务器端的重要平台,它以其稳定性和安全性备受青睐。本篇文章将详细探讨在Linux环境中常用的几个软件包:JDK、Apache HTTP Server、Nginx、Solr以及Redis,这些都是构建高...
这个压缩包 "apache-atlas-2.0.0-server.tar.gz" 包含了 Atlas 的 2.0.0 版本服务器端的所有组件,可以用于在生产环境中部署。用户如果需要内嵌HBase和Solr的功能,可以通过联系提供者来获取。 Apache Atlas 在数据...
它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而在服务器端生成动态内容。JSP的主要优势包括与Java平台的紧密集成、良好的可维护性和可扩展性。在这个系统中,JSP可能用于处理用户的请求,渲染页面,...
而JSP(Java Server Pages)是一种动态网页技术,可以在服务器端生成HTML,与Servlet结合使用,实现动态内容的展示。 在"Springbootweek03_Teacher"这个子目录中,可能包含了项目源代码、配置文件、测试用例等,...
- **启动Kafka**:启动Zookeeper服务,然后启动Kafka的服务器端进程。 3. **Flume与Kafka集成**: - **配置Flume Source**:将Kafka作为Flume的数据源,需要配置为`kafka.Source`类型,指定Kafka的broker列表、...
ASP(Active Server Pages)是一种由微软开发的服务器端脚本环境,用于生成动态网页和Web应用程序。这个"ASP实例开发源码—asp闪虎综合搜索引擎源码 v3.0.zip"是一个基于ASP技术构建的搜索引擎的完整源代码,旨在...
JSP页面在服务器端执行,将结果以HTML形式返回给客户端。 2. **Struts框架**: Struts提供了一套标准的MVC设计模式实现,通过Action类处理HTTP请求,控制流程,并通过配置文件定义视图与动作之间的映射。Struts的...
- **实现过程**:安装配置Redis服务端,开发Java客户端程序以读写缓存数据。 - **技术要点**:键值对数据模型、持久化策略、集群部署等。 #### 2. Solr服务器搭建及搜索功能实现 - **知识点**:学习如何使用Apache ...
- **环境配置**:确保服务器上安装了兼容版本的Java运行时环境(JRE/JDK)以及支持JSP的Web容器(如Tomcat)。 - **数据库连接**:系统通常需要连接到后端数据库来存储数据。常见的选择有MySQL、Oracle等关系型...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,允许开发者在服务器端使用JavaScript编写代码。Express则是一个轻量级的Web应用框架,它简化了路由设置和中间件的使用,使后端开发更加高效。此外,数据存储...