Solr求索之路
自己从对Solr一无所知,到为项目组搭建solr服务,积累了不少经验,拿出来和大家分享
bruce128
https://github.com/bruce256?tab=repositories
展开
-
自定义Lucene分词器示例
集团的内部通讯工具搜同事时,需要根据姓名后缀进行搜索。譬如“徐欢春”,我们要能根据“欢春”搜出这个人;“黄继刚”,要根据“继刚”为关键字搜出“黄继刚”。这是个很人性化的用户体验,当我们有同事的名字是三个字的时候,我们通常会叫他们名字的最后两个字。Lucene本身并没有提供这种分词器,只能自己照着Lucene已有的分词器进行模仿开发。 参照ngram分词器进行开发。 实现一个Tokeni原创 2016-06-20 11:12:00 · 7717 阅读 · 1 评论 -
Tomcat7.0.27下安装Solr4.6.0
应项目经理要求,我们项目需要做搜索的功能。搜索这块的任务交给了我,技术方案是Solr。于是花了一下午时间在比较新的tomcat下装起了一个目前最新的solr。 安装步骤: 首先弄到tomcat和solr4.6的包,这自不必说!然后将solr解压在:F:\solr\solr-4.6.0这下面,将tomcat解压在:F:\solr\tomcat7.0.27。同时新建一个solr运行原创 2013-12-26 21:00:54 · 6218 阅读 · 3 评论 -
为Solr4.6添加新的核
从solr4.6的管理界面上,始终没能成功添加核心,不是少这个文件就是少那个文件: 不得已,采用手工的方式来建立新的核心。两种方式: 1.把solr下载包里面的F:\solr\solr-4.6.0\example\solr\collection1这个文件夹复制一份,放在你的solr运行环境里面,改下文件夹的文字,同时改一下文件夹下的core.properties里面的n原创 2014-01-02 16:57:32 · 2070 阅读 · 2 评论 -
Solr4.6主从同步配置
今天在两台不同的测试服务器上搭建了solr4.6的服务器。验证两台solr启动正常之后,参照solr的wiki的主从配置方案进行主从配置,这是solr的wiki上给出的主从同步方案:http://wiki.apache.org/solr/SolrReplication solr的主从同步是按core进行配置的,每个core的solrconfig.xml都需要进行主从的配置。 主原创 2014-01-13 18:51:10 · 7607 阅读 · 5 评论 -
solr4.6关于schema.xml版本号的问题
前天在服务器上搭建一主一从的solr4.6的服务器,建core的时候,抛弃了以前从solr4.6下载包里面的配置文件。而是上这个文件夹拿配置文件:F:\solr\solr-4.6.0\example\multicore\core0\conf。这个文件夹给的配置文件是最简单的!只需一个schema.xml和solrconfig.xml就可以迅速搭建一个core出来。 搭建好之后,基本的CR原创 2014-01-16 10:36:59 · 5571 阅读 · 2 评论 -
Solr4.6,用builder模式构建查询参数对象
Solr搜索的条件有8个左右,界面式搜索条件如下: 8个参数,封装成一个参数对象,属性有点多。是提供构造器方式设置属性还是提供java bean的方式好呢? 如果提供构造器方式,那么你不得不提供多个构造器以满足必选参数和多个可选参数的组合。 如果是java bean模式,虽然构造一个请求参数bean十分容易,但是如果少了一个必选属性呢?比如少了关键字。原创 2014-01-20 18:21:29 · 2456 阅读 · 2 评论 -
Solr4.6 Expected content type application/octet-stream but got text/html 解决办法
自从用nginx-1.2.3为solr4.6做负载均衡之后,只要是删除操作,就报如下堆栈: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Expected content type application/octet-stream but got text/html. 411 Length Requi原创 2014-01-27 16:44:14 · 10234 阅读 · 4 评论 -
Solr4.6,搜索不区分大小写的配置
有些字段搜索的时候不需要区分大小写。这个时候需要做简单的过滤,建索引和搜索的时候把输入都转换成小写即可。配置如下: 配置中使用的过滤器工厂类LowerCaseFilterFactory的wiki定义如下:原创 2014-04-04 18:24:14 · 8947 阅读 · 2 评论 -
Solr4.6删除数据的办法
Solr4.6的管理界面上,如果不配置数据导入的功能,将看不到清除数据的按钮。我表示很遗憾,正好我们线上没有配置数据导入的功能。 网上搜到的各种清理solr数据的HTTP请求,拿到我的solr4.6上测试,报service not found。看了这些请求都是在solr4之前的版本上运行的。找到了个Solr4.2的Http请求,改了改参数,才可以用。 http://solr1.原创 2014-06-25 13:49:47 · 6247 阅读 · 2 评论 -
solr单机多实例部署文件锁冲突解决办法
给出一个有问题的单机多tomcat实例引用同一个solr实例部署图。这种部署必然造成一个问题,启动第二个tomcat实例时,一定会报索引文件夹文件锁已经被占用。 最初的解决办法是,有多少个tomcat实例,就部署多少个solr的war包。然后依次修改每个solr的core的data路径。如此完成线上部署,实在麻烦,而且容易出错! 今天请教了位有多年solr经验的同事,终原创 2016-03-14 19:47:31 · 1998 阅读 · 5 评论