您的位置:首页 > 运维架构 > Linux

solr学习一:solr6.6单机环境Linux搭建

2017-08-22 18:39 489 查看
环境:centos6.5、jdk1.8、solr6.6、Tomcat8

1.准备jdk1.8和Tomcat8并配置好环境变量

2.下载solr6.6

wget http://apache.fayea.com/lucene/solr/6.6.0/solr-6.6.0.tgz[/code] 
3.解压solr6.6

tar -axvf solr-6.6.0.tgz


4.将webapp文件夹复制到tomcat的webapps下,并更名为solr(可以为任意名称)

cp -r solr-6.6.0/server/solr-webapp/webapp tomcat8/webapps/solr


5.拷贝solr-6.6.0\server\lib\ext下的jar包到tomcat下的webapps\solr\WEB-INF\lib路径下

cp solr-6.6.0/server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib/


6.拷贝solr-6.6.0\dist 下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar 包到tomcat下的webapps\solr\WEB-INF\lib路径下

cp solr-6.6.0/dist/solr-dataimporthandler*.jar tomcat8/webapps/solr/WEB-INF/lib


7.拷贝solr-6.6.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib路径下(metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)

cp solr-6.6.0/server/lib/metrics*.jar tomcat8/webapps/solr/WEB-INF/lib/


8.新建一个文件夹solr-home,并将solr-6.6.0/server/路径下solr文件夹中的内容拷贝过来

mkdir solr-home
cp -r solr-6.6.0/server/solr/* solr-home


9.在tomcat的webapps\solr\WEB-INF路径下创建classes文件夹,然后将solr-6.6.0\server\resources文件夹下的log4j.properties拷贝过去,并修改日志路径

mkdir tomcat8/webapps/solr/WEB-INF/classes
cp solr-6.6.0/server/resources/log4j.properties tomcat8/webapps/solr/WEB-INF/classes


10.将solr-home的路径配置到tomcat下的webapps/solr/WEB-INF/web.xml;并修改权限,此处直接注释掉

<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/root/solrHome/solr-home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

//中间省略...

<!--
<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>
-->


11.启动tomcat,在浏览器输入地址:http://192.168.3.21:8180/solr/index.html

12.添加一个核myCore1:在solr-home下创建一个文件myCore1,复制solr-home/configsets/basic_configs/conf到myCore1中

mkdir solr-home/myCore1

cp -r solr-home/configsets/basic_configs/conf solr-home/myCore1


三.配置IK Analyzer中文分词器

1.下载并解压IK Analyzer,下载路径:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ik-analyzer/IKAnalyzer2012_u6.zip

2.将IK Analyzer的jar文件拷贝到tomcat8/webapps/solr/WEB-INF/lib

cp ./IKAnalyzer2012_u6.jar ../../tomcat8/webapps/solr/WEB-INF/lib


3.将IK Analyzer的配置文件拷贝到tomcat8/webapps/solr/WEB-INF/classes

cp ./IKAnalyzer.cfg.xml ../../tomcat8/webapps/solr/WEB-INF/classes
cp IKA/stopword.dic ../tomcat8/webapps/solr/WEB-INF/classes

//可自定义词库
在IKAnalyzer.cfg.xml 文件中配置gdt.dic,然后创建一个gdt.dic文件
<entry key="ext_dict">gdt.dic;<entry>


4.修改myCore1/conf下的配置文件managed-schema,指定所需分词的字段

<!-- 中文分词器IKAnalyzer  -->
<fieldType name="text_ik" class="solr.TextField">
<!--索引时候的分词器-->
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<!--查询时候的分词器-->
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>


四.从mysql导入数据到solr,并创建索引

1.在soreconfig.xml的上面配置如下内容:

<!--数据库导入索引的配置文件 -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>


2.配置data-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/microservice_test" user="root" password="" batchSize="-1" />
<document>
<entity name="sys_user" query="select id ,username,password from sys_user">
<!--column的id是数据库的id,name的id是managed_schema里面的id,id是必须,并且唯一的-->
<field column="id" name="id" />
<!--column的username是数据库的username字段,name的username是managed_schema里面的username,下面配置同理-->
<field column="username" name="username"/>
<field column="password" name="password"/>
</entity>
</document>
</dataConfig>


3.配置managed-schema

<!-- 本地mysql数据库字段 -->
<field name="username" type="string" indexed="true" stored="false"/>
<field name="password" type="string" indexed="true" stored="false"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr solr6-6