solr入门之solr5x源码在eclipse中运行及添加mmseg分词器

来源:互联网 发布:淘宝哪里可以定做鞋子 编辑:程序博客网 时间:2024/06/06 09:09
1.下载ant,解压后设置环境变量
链接:http://pan.baidu.com/s/1eRZJIuQ 密码:9452
    Ant环境变量配置:
    ANT_HOME: E:\Program Files\apache-ant-1.9.0
    Path: %ANT_HOME%\bin

设置完成后  打开命令行 输入  
ant  -version 
显示版本信息则配置成功

2.下载solr-5.1.0的jar和源码包
链接:http://pan.baidu.com/s/1qY69uEw 密码:hzff

进入到源码包根目录下,运行如下命令
ant 
成功后运行如下命令将 源码包变为eclipse可运行项目
ant eclipse

3.将solr项目导入eclipse中

(1)将solr4.3 import到eclipse(java EE IDE)

General——existing progects into workplace——指向solr源代码编译完成目录

(2)Java Project 转换为Dynamic WebProject

修改solr4.3项目下的.project文件

<natures><nature>org.eclipse.jdt.core.javanature</nature><nature>org.eclipse.wst.common.project.facet.core.nature</nature><nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature><nature>org.eclipse.jem.workbench.JavaEMFNature</nature><nature>org.eclipse.wst.jsdt.core.jsNature</nature></natures>

Eclipse中打开“project properties",会看到新增了很多选择项,点中"Project Facets",选择java 和 Dynamic Web module

 (3)在工程目录下的.settings文件夹,org.eclipse.wst.common.project.facet.core.xml里的3.0改成2.5

<?xmlversion="1.0"encoding="UTF-8"?><faceted-project><fixedfacet="wst.jsdt.web"/><installedfacet="java"version="1.6"/><installed facet="jst.web"version="2.5"/><installedfacet="wst.jsdt.web"version="1.0"/></faceted-project>

(5)在solr目录下(D:\源码包\solr)下,新建文件夹WebContent(删除原本webapp或WebContent里面的内容)

将solr运行包里面的D:\运行包\solr\dist里面的solr.war解压,并把其中的内容复制到新建的文件夹WebContent

(6)把solrhome复制出来

D:\源码包\solr\solr\example\里面的solr复制到D:\源码包\solr\solr并重命名为solrhome

(7)配置solr/home

找到项目的webapp/WEB-INF/web.xml

<env-entry><env-entry-name>solr/home</env-entry-name><env-entry-value>/put/your/solr/home/here</env-entry-value><env-entry-type>java.lang.String</env-entry-type></env-entry>

(8)引入必须的jar

D:\源码包\solr\webapp\WEB-INF\lib

D:\源码包\solr\contrib下每个lib文件夹


出现的问题---日志包的问题,一直提示日志包中的类找不到
严重: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: Failed to initialize Apache Solr: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used. For more information, see: http://wiki.apache.org/solr/SolrLogging
    at org.apache.solr.servlet.CheckLoggingConfiguration.check(CheckLoggingConfiguration.java:28)
    at org.apache.solr.servlet.BaseSolrFilter.<clinit>(BaseSolrFilter.java:31)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:140)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)


需要导入几个jar包来解决错误

  1、添加一个slf4j-nop-1.6.0.jar包

  2、把slf4j-api-1.5.2.jar 换成 slf4j-api-1.6.0.jar

       3. 加载 common-logging.jar

三个jar包都修改完毕,直接在tomcat中运行即可启动solr源码war项目


下面是我调试之后可以运行的solr源码war项目,只需要将solrhome换成你的地址就可以

运行了.

链接:http://pan.baidu.com/s/1bXkk9K 密码:72uf


上面的包中已经添加了mmseg分词器的相关jar包 不过要在tomcat中运行还要在

添加一个jar包,地址如下

链接:http://pan.baidu.com/s/1eR9v3u6 密码:had7

http://www.656463.com/article/EzmaYv.htm  这篇文章可以参考这个是4x系列的 内容比较多

下面上两幅图--
solr项目启动成功


solr项目访问成功





0 0
原创粉丝点击