solr 3.5 配置及服务器设置

2019-03-27 00:22|来源: 网路

一、solr 的简介

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。

  Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

二、solr 3.5 的下载

    solr 3.5下载地址:http://www.apache.org/dist//lucene/solr/

   tomcat  tomcat-7.0.26 下载:http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.26/bin/apache-tomcat-7.0.26.zip

三、solr 3.5的安装

     1、解压tomcat-7.0.26 到 e:\tomcat-7.0.26\下

     2、打开tomcat-7.0.26\conf 修改  server.xml 文件

  1. <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443" URIEncoding="UTF-8"/>  

  修改默认端口8080,可以不修改,添加字符编码  URIEncoding="UTF-8" 否则中文会乱码

      3、在apache-solr-3.5.0\dist目录下找到apache-solr-3.5.0.war把重命名为solr.war 并上传到 tomcat-7.0.26/webapps下。

        4、创建一个solr.xml文件,

        在tomcat-7.0.14\conf\Catalina\localhost\下创建一个solr.xml文件。内容为:  

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context docBase="e:/tomcat-7.0.26/webapps/solr" debug="0" crossContext="true" >  
  3.    <Environment name="solr/home" type="java.lang.String" value="e:/tomcat-7.0.26/solr" override="true" />  
  4. </Context>  

  docBase:为solr的上传目录

  5、把apache-solr-3.5.0\example目录下的solr文件夹上传到e:/tomcat-7.0.26目录下.索引文件会默认会放到 e:/tomcat-7.0.26\solr\data下.

     6、重新tomcat 在浏览器中输入:http://localhost:8080/

          会出现:welcome to solr  

                     solr admin  说明发布已成功!


四、solr 3.5与IKAnalyzer 3.2.8分词的整合

   1、IKAnalyzer下载地址:IKAnalyzer 3.2.8

   2、添加IKAnalyzer3.2.8.jar

       把IKAnalyzer3.2.8.jar放到 tomcat-7.0.14\webapps\solr\WEB-INF\lib下;

   3、schema.xml 增加信息

    进入目录编辑schema.xml文件,在<Types>下添加以下内容: 

  1. <fieldType name="text" class="solr.TextField" >    
  2.                <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>    
  3.                <analyzer type="index">    
  4.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  5.                    <filter class="solr.StopFilterFactory"    
  6.                            ignoreCase="true" words="stopwords.txt"/>    
  7.                    <filter class="solr.WordDelimiterFilterFactory"    
  8.                            generateWordParts="1"    
  9.                            generateNumberParts="1"    
  10.                            catenateWords="1"    
  11.                            catenateNumbers="1"    
  12.                            catenateAll="0"    
  13.                            splitOnCaseChange="1"/>    
  14.                    <filter class="solr.LowerCaseFilterFactory"/>    
  15.                    <filter class="solr.EnglishPorterFilterFactory"    
  16.                        protected="protwords.txt"/>    
  17.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  18.                </analyzer>    
  19.                  <analyzer type="query">    
  20.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  21.                    <filter class="solr.StopFilterFactory"    
  22.                            ignoreCase="true" words="stopwords.txt"/>    
  23.                    <filter class="solr.WordDelimiterFilterFactory"    
  24.                            generateWordParts="1"    
  25.                            generateNumberParts="1"    
  26.                            catenateWords="1"    
  27.                            catenateNumbers="1"    
  28.                            catenateAll="0"    
  29.                            splitOnCaseChange="1"/>    
  30.                    <filter class="solr.LowerCaseFilterFactory"/>    
  31.                    <filter class="solr.EnglishPorterFilterFactory"    
  32.                        protected="protwords.txt"/>    
  33.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  34.                </analyzer>    
  35.     </fieldType>    

然后在<fields>下添加:

  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />  

5、重新tomcat 在浏览器中输入:http://localhost:80/solr/analysis.jsp  进去 solr admin 显示:


本文出自 “无证程序猿” 博客,请务必保留此出处http://yjflinchong.blog.51cto.com/6851233/1164959


转自:http://yjflinchong.blog.51cto.com/6851233/1164959

相关问答

更多
  • tomcat配置数据源solr使用数据源 1、tomcat中配置数据源(注:需要拷贝jdbc相关jar包到tomcat中。tomcat6.x/lib目录下,注意tomcat6.0以下的版本在tomcat5.x/common/lib/目录下) 在server.xml文件,找到“Engine-> Host -> Context”,在其下面配置主要针对某一项目的数据源使用。 在context.xml文件,找到“Context”,在其下面配置可以让所有项目使用。 在Context下面配置数据源如下: 数据源相关参数 ...
  • tomcat配置数据源solr使用数据源 1、tomcat中配置数据源(注:需要拷贝jdbc相关jar包到tomcat中。tomcat6.x/lib目录下,注意tomcat6.0以下的版本在tomcat5.x/common/lib/目录下) 在server.xml文件,找到“Engine-> Host -> Context”,在其下面配置主要针对某一项目的数据源使用。 在context.xml文件,找到“Context”,在其下面配置可以让所有项目使用。 在Context下面配置数据源如下: & ...
  • Solr 3.X有一个内置的建议器组件,允许您在有限的字段上构建建议。 以下链接提供了实施细节 - 1. http://lucidworks.lucidimagination.com/display/solr/Suggester 2. http://solr.pl/en/2010/11/15/solr-and-autocomplete-part-2/ 对于其他方法,您可以检查EdgeNGrams实施或术语组件 。 Solr 3.X has an inbuilt Suggester component, wh ...
  • 是的,应该可以使用WSO2 DAS 3.0.1,因为它使用的是solr 5.2.1。 您可以完全按照上面提到的步骤为DAS启用它。 Yes it should be possible to do with WSO2 DAS 3.0.1, as it is using solr 5.2.1. You can exactly follow the steps mentioned in above post to enable it for DAS.
  • 为什么不在ADF中使用内置的自动完成功能和af:autosuggestBehavior组件? https://pinboard.in/search/u:OracleADF?query=af%3AautoSuggestBehavior Why not use the built in autocomplete functionality in ADF with the af:autosuggestBehavior component? https://pinboard.in/search/u:OracleAD ...
  • 我怀疑它涉及到缓存定义。 您允许并行驻留的搜索者数量(默认为2但您可以更改)? 搜索者热身实际上是一个缓存预热,所以如果你有一个工作的搜索者和一个温暖的搜索者,它占用两倍的内存大小。 你使用什么缓存(文档/查询/过滤器/字段/自定义)? 你是否广泛使用facet(他们在内部使用字段缓存)? 许多不同的过滤查询(FQ)(再次,缓存位图)? 我认为字段折叠也使用字段缓存。 It is quiet sometime since this happened but I think it will be worthw ...
  • 我们使用Basis tech的Rosette for Lucene&Solr ,但不是免费的。 Well, it actually turned out to be an issue with how Drupal module Search API parses the query string before even passing it to solr. Fixed with a small patch to the module, see issue Split query on whitespac ...
  • 不是在你的特殊情况下,但我的非常相似你是否也接受了非法状态。 请你提供一些查询,没有文件,tomcat中的线程数和tomcat中的垃圾收集参数 您还可以尝试增加线程数来解决此问题 问候 拉雅 The OutOfMemoryErrors in Solr are not caused by any connection management deficiencies that I may or may not have in my application. It appears my problem is so ...
  • 不知道SOLR是如何工作的,但正确的jQuery将是: $.ajax({ type: "GET", url: "http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?", dataType: "json", success: function (result) { // is working }, error: function (result) { // pro ...
  • 在这里阅读更多关于SolrCloud的信息..! https://wiki.apache.org/solr/SolrCloud 从我的经验中得到几点意见。 如果您的应用程序只是从SOLR读取数据并且没有写入SOLR(实时但您使用ETL进行索引),那么您可以选择Master Slave层次结构。 定义一个Master: - 将所有写入指向此处。 如果此主服务器关闭,您将无法再索引数据 创建2个(或更多)Slaves: - 这是SOLR的一个功能,它将根据我们指定的时间间隔(从每20秒说一次)来处理来自主服务器 ...