solr 常见的问题整理 -费元星
本文是我在开发过程中遇到的一些问题的整理,有些摘自网上别人的方法。
1. org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting response from server at: http://localhost/solr请求超时
解决方法:设置setConnectionTimeout和setSoTimeout为1分钟
2. org.apache.solr.common.SolrException: undefined field text
解决方法: 设置solrConfig.xml <str name="df">id</str> 默认是text
3. org.apache.solr.common.SolrException: Invalid Date String时间格式化问题
主要是Solr使用的是标准的格林威治(GMT)时间 这种(yyyy-MM-dd'T'HH:mm:ss.SSS'Z')北京在东八区 默认时间会-8小时
所以为了满足他这个减8 我的做法是在创建索引格式化日期类型的时候 判断下 把它时间+8 。
所以重新创建一个SolrEntityBinder类 此类是完全copy的DocumentObjectBinder. 只修改了一处。
修改了类中toSolrInputDocument方法
- <span style="color:#3333ff;"> //判断是否是日期-------------///
- if(field.type==Date.class){
- Date d = (Date)field.get(obj);
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(d.getTime());
- cal.add(Calendar.HOUR, 8);
- d = cal.getTime();
- doc.setField(field.name,d,1.0f);
- }else{
- doc.setField(field.name, field.get(obj), 1.0f);
- }</span>
4.Solr查询字符串空值
有时候需要查询某个字段为空的记录,比如当solr做facet时,某个域为空的记录被统计,故也会被查询。
一个例子是职位记录,其中某种原因公司可能为空。这时我们如果想查询公司名称为空的记录可以采用如下语法实现(似乎目前为止只有此方法可行):
-company:[* TO *] 这样你会看到结果集中的记录将含有所有公司名称为空的记录。
5.Solr竞价排名功能
6.Solr DisMax 分析
我测试的版本是3.3,是通过在查询url里添加defType=dismax来启用dismax功能的。通过qt=dismax的话不会起作用的。
通过 defType=dismax 时,Solr 的QueryComponent组件的prepare的方法会取到defType参数的值,去创建对应的quey解析器。
7.Solr 跨核检索
8.Solr 首位*检索
solr 常见的问题整理 -费元星的更多相关文章
- java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-【费元星Q9715234】
java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-[费元星Q9715234] 说明如下,不懂的问题直接我[费元星Q9715234] 1.反射的意义在于不将xml tag ...
- 【shell mysql 导出数据到csv脚本,完美解决乱码转义符等问题】-费元星
#!/bin/bash#@author:feiyuanxing [既然笨到家,就要努力到家]#@date:2017-12-05#@E-Mail:feiyuanxing@gmail.com#@TARGE ...
- 【Linux搭建创建FTP服务器】---完美解决 - 费元星
配置大红字文件置顶: vsftp d.conf 4.5KB useradd -d /home/bai_du -s /sbin/nologin bai_du 修改访问权限: usermod ...
- 【原创】linux命令-Axel命令 - linux多线程下载 - 费元星 - 未来星开发团队
[费元星版权Q:9715234] Axel 是 Linux 下一个不错的HTTP/FTP高速下载工具.支持多线程下载.断点续[费元星版权Q:9715234]传,且可以从多个地址或者从一个地址的多个连接 ...
- 【vps搬家】--总结--费元星
20150310 费元星 稍微玩VPS/服务器比较久的站长手中应该不止一台VPS,我们会有多台机器之间的相互使用.比如可能会遇到的是数据传输,我们传统的做法是先用FTP下载数据A到本地,然后再到本地 ...
- 虚拟机安装win7 64位-完美解决-费元星
安装虚拟机是为了安装一个oracle ,在本机安装 ,本机会卡死,不是每次启动电脑都用oralce,而且有时候服务是关不干净的,所以安装在虚拟机里,需要的时候在开启,特做此记录! 费元星版权Q[971 ...
- 【原创】java 获取十个工作日之前或之后的日期(算当天)-完美解决-费元星
[原创]java 获取十个工作日之后的日期(算当天)-完美解决-费元星(仅考虑星期六星期天) /** * * 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期 * @param s ...
- MyEclipse10安装checkStyle与findBugs插件--详细完美结局-费元星
本人QQ:971751392(屌丝一枚) Myeclipse10安装checkStyle与findBugs插件详细完美结局方案: 资源一: http://download.csdn.net/detai ...
- nohup 重定向的问题-- 费元星 站长
费元星 大牛 以前只知道使用nohup可以让一个程序后台执行,但是生成的日志文件都放到nohup.out中了,不能自己指定,尤其是在同一个目录下我需要让两个甚至多个程序都要后台执行时,这样看日志就比较 ...
随机推荐
- PyCharm Django项目开发的调试方法
下面介绍两种PyCharm Django项目开发的调试方法: 方法一: 1. 使用PyCharm 自带的django项目Debug工具, 当然前提条件是django项目环境已经搭建好了. 2. 在代码 ...
- jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题
http://blog.csdn.net/nsdnresponsibility/article/details/51282797 问题如题: 这里我们在父页面定义一个全局的变量来标识是否需要刷新父页面 ...
- 【转】计算Java List中的重复项出现次数
本文演示如何使用Collections.frequency和Map来计算重复项出现的次数.(Collections.frequency在JDK 1.5版本以后支持) package com.qiyad ...
- Spring - 父容器与子容器
一.Spring容器(父容器) 1.Mapper代理对象 2.Service对象 二.Springmvc(前端控制器)(子容器) Controller对象 1.标准的配置是这样的:Con ...
- Maven项目改为spring boot项目的方法
目录树 新建Maven项目及步骤 修改方法 启动测试 新建Maven项目及步骤 我这里是从创建开始讲,使用的工具是Idea2017版本.如果是已经创建了Maven,想改为spring boot项目的请 ...
- 三、Hadoop 的 API
1.环境搭建 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop- ...
- shell习题第1题:每日一文件
[题目要求] 请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件 例如生成的文件为2019-04-25.log,并且把磁盘使用情况写入到这个文件中 不用考虑cron,仅仅写脚本即可 [核心要 ...
- 转:Java并发集合
引自:http://ifeve.com/concurrent-collections-1/ 并发集合(一)引言 声明:本文是< Java 7 Concurrency Cookbook>的第 ...
- jquery头像上传剪裁插件cropper的前后台demo
因为一个项目要做一个头像上传的功能,因此选择了使用jquery的头像插件cropper,cropper是一款使用简单且功能强大的图片剪裁jQuery插件,但是在使用的时候,有一个很大的坑需要注意,那就 ...
- tornado用户指引(二)------------tornado协程实现原理和使用(一)
摘要:Tornado建议使用协程来实现异步调用.协程使用python的yield关键字来继续或者暂停执行,而不用编写大量的callback函数来实现.(在linux基于epoll的异步调用中,我们需要 ...