一、solr 下载及安装
solr官网:http://lucene.apache.org/solr/
solr-7.4.0.tgz | linux | 18-Jun-2018 18:51 |
solr-7.4.0.zip | windows | 18-Jun-2018 18:51 |
官网指导文档:
apache-solr-ref-guide-7.4.pdf |
下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ref-guide/
不同版本寻找方方式:在下载页点 ../ 到上级目录 打开ref-guide/即下载页。
二、运行
根据指导文档 apache-solr-ref-guide-7.4.pdf Getting Started >> Solr Tutorial
运行cloud
./bin/solr start -e cloud
运行techproducts
./bin/solr start -e techporducts
参数 -e example示例。 demo示例在examples目录下。Windows下用bin\solr.cmd
关闭:./bin/solr stop -all
启动一个实例:(同样可以启动其他solr实例)
./bin/solr start -p 8983 -c examples/techproducts
创建collection/core:
./bin/solr create -c demo
删除实例:./bin/solr delete -c demo
按照apache-solr-ref-guide-7.4.pdf Getting Started 熟悉solr。
三、部署到 tomcat
参考:https://blog.youkuaiyun.com/wxyora/article/details/78390661
1 由于开发环境是Windows环境,所以官网下载对应windows的安装包solr-7.1.0.zip。
2 在tomcat-webapps文件夹下新建文件夹solr并将solr-7.1.0\server\solr-webapp\webapp文件夹下的内容一并拷贝到solr文件夹下。
3 在\solr\WEB-INF下新建文件夹classes并将\solr-7.1.0\example\resources下的log4j.properties文件拷贝到此文件夹
4 将\solr-7.1.0\server\lib和\solr-7.1.0\server\lib\ext文件夹下的所有jar包增加到tomcat下\solr\WEB-INF\lib文件夹下
5 在tomcat根目录新建文件夹solr_home并将\solr-7.1.0\server\solr下的文件全部拷贝到solr_home下,此文件夹下内容为solr的一个实例。
6 修改solr服务器目录中web.xml文件指定solr_home所在位置
solr/home
F:/apache-tomcat-8.0.41/solr_home
7启动tomcat,solr会借助jetty自动启动solr服务实例,最后访问solr服务地址即可看到solr主页: http://localhost:8080/solr/index.html。
启动Tomcat后,命名行创建实例:原解压目录下: ./bin/solr create -p 8983 -c demo1
删除实例:./bin/solr delete -p 8983 -c demo1
四、中文分词
https://www.cnblogs.com/wander1129/p/6658828.html
将jar包拷贝到 apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/
IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下
修改demo1>>conf>>managed-schema
<!-- 我添加的IK分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
</analyzer>
</fieldType>
<!-- 拼音 -->
<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
</fieldType>
solr管理界面http://localhost:8983/solr/index.html 选择core>>Analysis 主界面选择FiledType可测试分词。
五、solrj使用
pdf文档翻译及作者说明:https://www.cnblogs.com/gaogaoyanjiu/p/7815558.html