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"/>
@[2KN~XI@_ZM5ALZ{{Y.png)
以下地址可以作为配置的参考:
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 ...
随机推荐
- 异常为"当IDENTITY_INSERT设置为OFF时" 解决办法
当 IDENTITY_INSERT 设置为 OFF 时,不能向表"A" 中的标识列插入显示值. 一般来说是自增ID造成的. 因此可以在数据库insert语句前加上 SET iden ...
- 【bzoj3687】简单题 背包dp+STL-bitset
题目描述 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和.2.子集的异或和的异或和.3.子集的算术和的算术和.4.子集的算术和的异或和.目前为止,小呆已经解决了前三个问题 ...
- 使TileCache配合OpenLayers,产生地图瓦块的一些资料(转)
在tilecache.cfg中配置好被切割地图的参数,比如: [mytestmap]layers=3,5,7,8type=WMSurl=http://localhost/arcgis/services ...
- 为Eclipse添加反编译插件,更好的调试
为Eclipse添加反编译插件,更好的调试 一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍. 1.下载并安装jad.exe.将ja ...
- Codevs 1993 草地排水
1993 草地排水 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地 ...
- 【CF778C】Peterson Polyglot(Trie树,启发式合并)
题意:有一棵n个结点的只由小写字母组成的Trie树,给定它的具体形态,问删除哪一层后剩下Trie树的结点数最少 n<=3e5 思路:先建出原Trie树,对于每一层的每一个结点计算删除后对答案的贡 ...
- jQuery性能优化【转】
原文发布时间为:2010-10-22 -- 来源于本人的百度文章 [由搬家工具导入] 之前,我们减少字节数和请求次数以及加载顺序以使页面加载的更快。如今,我们越来越多的注意到另一个影响网站性能的部分- ...
- css sticky footer 布局 手机端
什么是css sticky footer 布局? 通常在手机端写页面 会遇到如下情况 页面长度很短不足以撑起一屏,此时希望页脚在页面的底部 而当页面超过一屏时候,页脚会在文章的底部 ,网上有许多办法, ...
- hdu 1403 Longest Common Substring 后缀数组 模板题
题目链接 题意 问两个字符串的最长公共子串. 思路 加一个特殊字符然后拼接起来,求得后缀数组与\(height\)数组.扫描一遍即得答案,注意判断起始点是否分别在两个串内. Code #include ...
- power key 啟動系統的相關電路
Platform Qualcomm MSM8917 / 37 + PM8937(main PMIC) + PMI8940 Schematic Principles 當 power key 按下時, K ...