solor5.4学习笔记
1.下载地址:http://archive.apache.org/dist/lucene/solr/
2.与tomcat的整合http://jingyan.baidu.com/article/d8072ac4625b07ec95cefdbe.html
3.为solr添加用户.
A.在tomcat的配置tomcat-users.xml添加角色也用户
<role rolename="solr"/>
<user username="solr" password="solr" roles="solr"/>
B.在solr的web.xml中配置
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr Lockdown</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>This applies only to the "tomcat" security role</description>
<role-name>solr</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Solr</realm-name>
</login-config>
4.为solr添加code:
在solrhome下新建一个mysoso,把configsets\sample_techproducts_configs的config目录拷贝到mysoso中,并在mysoso中添加core.properties(里面写name=mysoso)即可实现code的加载.
5.配置mmseg4j 下载:http://download.csdn.net/detail/yupengdahappy/9037909 (甚至支持到5.5)
A.添加jar包以及dic
B.修改mysoso中的schema.xml来配置mmseg4j的字段类型(其实就是配置分词器) 从https://github.com/chenlb/mmseg4j-solr中复制
注意dicPath最好写绝对路径.
C.把某些字段设置为textComplex的解析器,如title,subject,description
6.添加solrj的支持
A.添加jar 从dist中拷贝solr-solrj-5.4.1.jar,solrj-lib中的全部,以及commons-codec-1.10.jar
B.参考http://my.oschina.net/daxiong0615/blog/521566?p=1 中的MySolr.java,需啊注意的是你可能需要在链接中授权.
7.如果想买包base64的错误,可以尝试去掉登陆认证.(使用8的那种方式,可以解决我的base64的报错)
8.在Java unit中可以通过.但是在web访问中,执行到new HttpSolrClient(URL+"/"+SERVER);就会报错.参见
http://stackoverflow.com/questions/32105513/solr-bad-return-type-error,使用
SystemDefaultHttpClient httpClient = new SystemDefaultHttpClient();
client = new HttpSolrClient(URL + "/" + SERVER,httpClient);
即可解决问题.
9.SB搜索----多个字段同时搜索,使用copyField,参见http://www.icoolxue.com/play/2347的copyField
<field name="a_all" type="textComplex" indexed="true" stored="false" multiValued="true"/>
添加copyField并指定默认field
<defaultSearchField>a_all</defaultSearchField>
<copyField source="a_title" dest="a_all"/>
<copyField source="a_summary" dest="a_all"/>
<copyField source="a_content" dest="a_all"/>
<copyField source="a_author" dest="a_all"/>
<copyField source="a_tagName" dest="a_all"/>
<copyField source="a_catalog" dest="a_all"/>
<copyField source="a_resource" dest="a_all"/>
<copyField source="a_createTime" dest="a_all"/>
以下地址可以作为配置的参考:
http://my.oschina.net/daxiong0615/blog/521566?fromerr=Q4d0kVy9
http://blog.csdn.net/a925907195/article/details/42491157
11.倒入数据库(建议html过滤关闭,自己在代码中过滤好了再交给solr)
data-config.xml内容如下:
<dataConfig>
<dataSource name="saicheDB" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/saichedata?useUnicode=true&characterEncoding=utf-8"
user="root" password="123456" transformer="DateFormatTransformerk,HTMLStripTransformer" />
<document>
<entity dataSource="saicheDB" name="article" query="select id,title as a_title,content as a_content,summary as a_summary,createTime as a_createTime,resource as a_resource,tagName as a_tarName from article">
<field column="a_content" stripHTML="true" />
<field column="a_summary" stripHTML="true" />
</entity>
</document>
</dataConfig>
schema.xml添加charFilter
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="D:/programFiles/solr/mysoso\dic"/>
</analyzer>
solor5.4学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- jquery版右下角弹窗效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- activemq 简单聊天
有兴趣加群qq:200634530
- tmux使用备忘
创建新的session tmux 查看已有session tmux ls 进入tmux后 默认快捷键前缀为Ctrl+b,可以通过配置文件来修改 从session中断开 C-b d 给session改名 ...
- 一个 Observation
$n$ 个小球分布在一个圆上,小球的颜色或黑或白.顺时针(或逆时针)遍历这 $n$ 个小球,记录下相邻两小球的颜色,得到 $n$ 个有序颜色对.我们有,(黑,白)和(白,黑)的数目一定相等(可能都是 ...
- BZOJ2393 & 1853 [Scoi2010]幸运数字 【搜索 + 容斥】
题目 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是" ...
- pat甲级 团体天梯赛 L2-022. 重排链表
L2-022. 重排链表 时间限制 500 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个单链表 L1→L2→...→Ln-1→Ln,请 ...
- linux服务器端口netstat
netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的 ...
- 批量保存 htm
公司项目,需要对一个列表做批量保存到Doc的功能. 后来通过架构人员协助,采用MemoryStream二进制流的方式保存为htm文档. 然后通过第3方的dll,ICSharpCode.SharpZip ...
- eclipse在linux環境下安裝注意事项
文件如果安装在非home文件夹下必须为eclipse授权 sudo chmod -R 777 /usr/tools/eclipse
- uva 1611:Crane(构造 Grade D)
题目链接 题意: 一个序列,你可以选择其中偶数长度的一段,然后中间切开,左右两段交换.现给你一个1~n的某个排列,求一个交换方案,使得排列最终有序.(交换次数 < 9^6) 思路: 从左到右,依 ...