solr在tomcat下集成mmseg

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

   mmseg最新版本为1.9.1  http://code.google.com/p/mmseg4j/, 最高仅支持solr4.5.1

所以这里solr用的是4.5.1版本(已经出到4.6.0版本了)http://archive.apache.org/dist/lucene/solr/4.5.1/

tomcat使用的是6版本(懒得下7,所以直接用6好了),下面开始整合:


1、下载solr后解压,并将solr-4.5.1\example\webapps目录下的solr.war复制到tomcat的webapps目录下;

2、运行tomcat,报错,停掉,这里tomcat下的webapps下会有solr.war的解压目录solr,将solr.war文件删除;

3、将solr-4.5.1\example\solr目录复制到tomcat的webapps\solr目录下(也即webapps\solr\solr,此步骤不做或者放在其他目录也行);

4、将solr-4.5.1\example\lib\ext目录下的jar包复制到tomcat的lib目录下;

5、复制solr-4.5.1\example\resources\log4j.properties至tomcat的webapps\solr\WEB-INF目录下

6、修改tomcat下webapps\solr\WEB-INF\web.xml,增加如下(视第三步中solr的目录修改路径,可以为绝对路径):

 <env-entry>  

  <env-entry-name>solr/home</env-entry-name>  

  <env-entry-value>../webapps/solr/solr</env-entry-value>  

  <env-entry-type>java.lang.String</env-entry-type>  

</env-entry>


至此,solr成功部署至tomcat6,可以跑下tomcat看下效果(http://localhost:8080/solr/#/collection1)

下面开始整合mmseg1.9.1:


1、将mmseg三个jar包复制至solr的lib包下(webapps\solr\WEB-INF\lib)、

2、编辑solr如下文件webapps\solr\solr\collection1\conf\schema.xml(视上面第3步的目录而定),增加:

<fieldType name="textComplex" class="solr.TextField" >

     <analyzer>

       <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>

     </analyzer>

   </fieldType>

   <fieldType name="textMaxWord" class="solr.TextField" >

     <analyzer>

       <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"/>

     </analyzer>

   </fieldType>

   <fieldType name="textSimple" class="solr.TextField" >

     <analyzer>

       <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple"/>

     </analyzer>

   </fieldType>

至此,mmseg1.9.1整合完成,下面看效果:


wKioL1L8ZYezPx2IAAEXiyhaGi4200.jpg


本文参考了:http://blog.csdn.net/yangaming/article/details/8197241

http://javabigcat.iteye.com/blog/1782163


转自:http://ibird.blog.51cto.com/263659/1358740

相关问答

更多
  • 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下面配置数据源如下: & ...
  • 在该教程中,它看起来像java -jar start.jar正在使用嵌入式Jetty服务器。 运行该命令时的输出是什么? 它应该告诉你应用正在监听的端口。 如果输出是2012-03-27 17:11:32.343:INFO::Started SocketConnector@0.0.0.0:8983那么您需要将浏览器指向localhost:8983 。 In that tutorial it looks like java -jar start.jar is using an embedded Jetty s ...
  • 确保java和javac版本都相同。 为此你需要检查这些命令 java -version javac的版本 如果两者不相同,则应运行此命令 sudo apt-get install default-jre 之后,您需要运行此命令 sudo apt-get install openjdk-7-jre 并使用此命令设置路径 sudo update-alternatives --config java 然后你会得到这样的输出 选择你之前安装的版本,即在那里键入2,因为你已经安装了java-7。 希望它会奏效。 ...
  • 我不认为你的正则表达式与DIH相关的罐子相匹配。 尝试将配置更改为: 或者,作为替代方案,您可以尝试指定每个lib的完整路径:
    回答我自己的问题! :) 基本上,为了实现我的目标,我需要做以下事情: 在我的Maven POM文件中包含Solr WAR作为依赖项 将默认的Solr核心和配置( example/collection1/ )解压缩到我项目的子目录(我使用了cores/collection1 ) 在launch -Dsolr.solr.home上添加Java VM参数以指向cores目录( -Dsolr.solr.home=/path/to/my/project/cores ) 它不完全是自包含的(我仍然需要指向一个配置), ...
  • 对于一般的Solr,你应该参考Solr参考指南寻求帮助。 这是为了即将发布的Solr 5.0版本,但大多数指南仍然与4.0相关,而其他文档(旧wiki)的质量很差。 Solr需要单独安装; 它不仅仅是一个Maven依赖。 要安装Solr,请按照指南中的安装说明进行操作。 为了在你的java层中联系solr,你可以使用solr-j ,你可以添加它作为maven的依赖,如下所述 ,最新版本是4.10.2 : org.apache.solr
  • 官方答案是:将其作为独立应用程序运行。 不再支持 从Solr 5.0开始,不再支持在像Tomcat这样的servlet容器中将Solr部署为WAR的支持。 有关如何将Solr安装为独立服务器的信息,请参阅安装Solr 。 关于此举的决定的背景可以在Solr Wiki上找到。 Solr旨在成为服务器而非Java Web应用程序,类似于mysql或Apache Web服务器。 首次创建Solr时,将其设计为Web应用程序是一个方便的选择,以避免编写大量棘手的代码来构建网络层。 如今,这一设计决定已成为限制因素。 ...
  • 最后我通过使用第三方cors过滤器解决了它:我在solr应用程序级别而不是在tomcat服务器级别使用它: CORS com.thetransactioncompany.cors.CORSFilter cors.allowOrigin ...