solr4.0环境搭建

2019-03-27 01:16|来源: 网路

因近期想搞个知识库,所以选择solr,现在最新的solr是4.0,所以用solr4.0。

服务器:tomcat6

  JDK   :1.6

 SOLR :4.0

中文分词器 :ik-analyzer,mmseg4j


安装:目前mmseg4j的版本是mmseg4j-1.9.0.v20120712-SNAPSHOT,经过测试,发现这个版本有bug:

	java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apache.l
	ucene.analysis.Tokenizer.reset(Ljava/io/Reader;)V
	由于solr4.0对其中的有些类与方法做了调整,所以还是等待mmseg4j新版本修复吧。果断使用了ik-analyzer。
    一、将apache-solr-4.0.0\example\webapps\solr.war放在tomcat的webapps下启动服务器解压该war包,另外还需要增加几个jar包:
	apache-solr-dataimporthandler-4.0.0.jar
	apache-solr-dataimporthandler-extras-4.0.0.jar
	这两个jar包可以在solr的dist中可以找到
	另外还需要相应数据库的驱动包,比如
	mysql-connector-java-5.1.13-bin.jar
    二、将apache-solr-4.0.0\example下的solr拷贝至apache-tomcat-6.0.29-solr\bin下
    三、在apache-tomcat-6.0.29-solr\bin\solr\collection1\conf下的solrconfig.xml增加以下数据库配置
	
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">     
          <lst name="defaults">     
               <str name="config">data-config.xml</str>     
          </lst>     
  </requestHandler> 

    四、将apache-tomcat-6.0.29-solr\bin\solr\collection1\conf下增加data-config.xml文件,内容如下:
	
<dataConfig>  
    <dataSource type="JdbcDataSource"  
   driver="com.mysql.jdbc.Driver"  
   url="jdbc:mysql://localhost:3306/solrdb"  
   user="root"  
   password="888888"/>  
    <document name="content">  
        <entity name="node" query="select id,author,title,content from solrdb">  
            <field column="id" name="id" />  
            <field column="author" name="author" />  
            <field column="title" name="title" />  
            <field column="content" name="content" />
        </entity>  
    </document>  
</dataConfig>
 
    五、增加中文分词器,ik-analyzer的配置如下:
	它的安装部署十分简单,将IKAnalyzer2012.jar部署亍项目的lib目录中;IKAnalyzer.cfg.xml不stopword.dic文件放置在class根目录对于web项目,通常是WEB-I	NF/classes目彔,同hibernate、log4j等配置文件相同)下即可
	solr4.0中schema.xml配置解析器:
	
<schema name="example" version="1.1"> 
	…… 
	<fieldType name="text" class="solr.TextField"> 
		<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
	</fieldType>
	…… 
</schema>
六、schema.xml完整配置:
<?xml version="1.0" encoding="UTF-8" ?>  
<schema name="example" version="1.5">  
  <types>      

    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>

  
      <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> 
  <!-- IKAnalyzer 配置 -->
     <fieldType name="text" class="solr.TextField"> 
     	<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
     </fieldType>
   
</types>  
  
  
 <fields>  
   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
   <field name="author" type="text" indexed="true" stored="true" multiValued="false"/>  
   <field name="title" type="text" indexed="true" stored="true" multiValued="false"/>  
   <field name="content" type="text" indexed="true" stored="true" multiValued="true" />  
   <field name="_version_" type="long" indexed="true" stored="true"/>
 </fields>  
  
 <uniqueKey>id</uniqueKey>  
 <defaultSearchField>content</defaultSearchField>  
 <solrQueryParser defaultOperator="OR"/>  
<copyField source="title" dest="content"/>  
<copyField source="author" dest="content"/>

  
</schema>  

解析:multiValued:是否包含多个值,如果要使用后面的copyField将其他字段放入默认搜索中就必须允许多指,否则会报:multiple values encountered for non multiValued copy field content
    defaultSearchField配置默认搜索索引,copyField可以将 title、author字段添加至content默认搜索中
 七、登录管理页面:
 中文分词器分词的示例:
 
 query示例:
 
 



转自:http://blog.csdn.net/yangaming/article/details/8197241

相关问答

更多
  • web.xml都是放在WEB-INF下的,不管是struts1或struts2,struts.xml与spring.xml放在src下,可以直接是根目录 ,可以建文件夹放在里面 ,但是在web.xml里一定要配置对
  • 先装win7再装Ubuntu,安装Ubuntu时选择双系统共存即可。若从硬盘安装Ubuntu可以用EasyBCD引导
  • selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点!
  • 一、系统约定篇 环境软件下载后存放位置:X:\Server_Tools 环境软件安装位置:X:\Server_Core PHP安装位置:X:\Server_Core\PHP MySQL安装位置:X:\Server_Core\MySQL Zend Optimizer安装位置:X:\Server_Core\Zend IIS网站站点根目录:X:\wwwroot MySQL 数据库位置:X:\Database php.ini存放位置:Y:\Windows\php.ini my.ini 存放位置:X:\Server_ ...
  • 你截的第一张图写的很明白了,TortoiseSVN的使用和其它软件不太一样,不是从开始菜单点击TortoiseSVN的,它已经和操作系统集成到一起了,使用时直接在空白处或者某文件夹或某文件上点鼠标右键,从右键菜单中开始操作。 还有,你64位的Win7,就必须安装64位的TortoiseSVN,否则右键菜单中可能没有TortoiseSVN的选项。 TortoiseSVN在Win7和Xp中的用法是一样的,所以完全可以参考XP下是使用教程。
  • 3.x 返回的是一个iter obj,如果想返还【】,要加上list() >>> list(filter(bigger_than_five,[1,10])) [6, 7, 8, 9, 10] 其实3.x里面,达到你的这个目的的最简单的方法就直接: >>> [x for x in range(11) if x > 5] [6, 7, 8, 9, 10]
  • 刻成光盘后安装或使用硬盘安装的方式安装。 硬盘安装示范: 一、给硬盘格出10G以上的空闲空间,以便安装红旗Linux。留空间的方法简单,比如你的D盘有50G,E盘有60G,想装系统又不想影响E盘的原有的程序数据。可以在D盘建个目录E备份,然后把E盘所有目录文件复制过去,系统文件可以不复制。等备份完成后,再用WindowsXP的磁盘管理,把E盘分区删除掉,再分40G重建E盘分区,最后再把复制的目录文件全请回E盘,就不会影响原来的E盘程序数据了,又多出了20G的可用空间。(什么要问我磁盘管理在哪里,我的电脑右键 ...
  • selenium2是一个自动测试框架。类似的框架,其中有名气应该还有2个,一个是windmill,另一个似乎pamrie还不够格。selenium2搭建简单,与python结合着使用时注意把driver设置正确就要中以。建议下载tgz包,然后在命令行下运行python setup.py ins
  • 首先使用react native编写一个简单的应用,在碰到问题的时候,肯定需要对代码进行调试。目前react native支持在Chrome浏览器内进行调试。需要选择Scheme->Run的选项为Debug,否则模拟器中不会出现调试选项。 将应用设置为在模拟器中运行,运行后
  • 即使对于crm-2013, 微软也说你应该使用 .net 4.0。 当你说你的插件中的4.0和4.5之间的交互时,我认为你是正确的。 你能在4.0上建立你的项目吗? 试试看看会发生什么。 After talking to the company about their CRM setup, they explained there were two servers dedicated to running async plugins. It appears that Microsoft Dynamics C ...