您的位置:首页 > 其它

Solr6.3配置和Ik-analyzer6.3使用

2017-05-11 17:27 351 查看



。# Solr6.3配置和Ik-analyzer6.3使用

标签(空格分隔): Solr

window环境下solr6.3配置

一、环境 

1、solr6.3 

2、JDK1.8 

3、Tomcat9.0.0(Tomcat8也可以)

二、过程 

1、下载tomcat和solr压缩包并解压; 

2、将 solr 压缩包中 solr-6.3.0\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到Tomcat\webapps\目录下,文件夹名改成solr(任意) ; 

3、将 solr 压缩包中 solr-6.3.0\server\lib\ext 中的 jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中; 

4、将 solr 压缩包中 solr-6.3.0/ server/resources /log4j.properties 复制到Tomcat\ webapps\solr\WEB-INF\lib 目录中; 

5、将 solr 压缩包中 solr-6.3.0/server/solr 目录复制到计算机某个目录下,如D:\solr_home(solr创建的core到时会存放在该目录下); 

6、打开Tomcat/webapps/solr/WEB-INF下的web.xml,找到如下配置内容(初始状态下该内容是被注释掉的):
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/solr_home/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
1
2
3
4
5

将 env-entry-value中的内容改成你的solr_home路径,这里是D:/solr_home/solr; 



【如果报403错误,403一般都是没有权限】。 

修改:web.xml,将以下代码注释即可
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Enable everything but TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method-omission>TRACE</http-method-omission>
</web-resource-collection>
</security-constraint>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

三、创建第一个core 

1、将solr-6.3.0/dist中的solr-dataimporthandler、solr-dataimporthandler-extras的jar包copy到tomcat\webapps\solr\WEB-INF\lib下; 

2、在D:\solr_home\solr下创建my_core文件夹(名称与下图的instanceDir一致,建议下图中的name也和该文件夹名一致); 

3、在my_core文件夹下创建data和conf文件夹; 

4、将solr-6.3.0\example\example-DIH\solr\solr\conf所有文件和文件夹都copy到D:\solr_home\solr\my_core\conf下; 

5、启动tomcat,访问solr,创建core,新增core即可完成; 

6、可以在“core selector”这里查询和编辑你的solr相关信息;

参考图: 


 

四、配置中文Ik分词器 

1、将Ikik-analyzer-solr-6.3.0.jar【下载链接】放到Tomcat下的\solr\WEB-INF\lib下 

2、将下载的IKAnalyzer.cfg.xml、mydict.dic、stopword.dic放到Tomcat中的solr\WEB-INF\classes目录下,如果没有classes文件夹就创建 

3、修改solr_home\solr\my_core\conf下的managed-schema文件
在</schema>前添加
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<field name="text_ik"  type="text_ik" indexed="true"  stored="true"  multiValued="true" />
1
2
3
4
5

3、重启Tomcat重新访问

分词示例



在Linux下的安装可参考: 
CentOS安装solr6.3配置IK 

使用过程中的问题可参考: 
Solr启动使用分词时,异常:Connection
to Solr lost Please check the Solr instance

Solr启动使用IK分词时,异常:Connection to Solr lost Please check the Solr instance

 Solr     2017-01-11
11:15:58     138     0     0

 

使用IK分词时出现如下信息:

异常:Connection to Solr lost   Please check the Solr instance



 

在日志文件中,异常信息: java.lang.OutOfMemoryError: Java heap space 

 

可以通过设置Tomcat的catalina.sh文件,在/tomcat/bin/目录下

在文件中增加:

JAVA_OPTS="-Xms256m -Xmx512m -Xss1024k -XX:PermSize=128m -XX:MaxPermSize=256m"

Windows和Linux都可使用。此配置是修改JVM的内存大小

重新启动Tomcat即可。

 

这种情况仅仅在使用IK分词的时候出现,也可能在启动使用中出现此问题。可以查看Solr.log和Tomcat的logs/catalina.out日志信息获得错误信息查找错误原因。

在使用IK分词器的时候再分词前需要将分析字典加载到内存,如果内存过小就会导致内存溢出问题。在生产环境中可以根据实际情况监测JVM的使用情况进行调整JVM的内存大小。

文章来源:http://blog.csdn.net/motui/article/details/53537592
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr