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中了,不能自己指定,尤其是在同一个目录下我需要让两个甚至多个程序都要后台执行时,这样看日志就比较 ...
随机推荐
- chromedriver链接
http://npm.taobao.org/mirrors/chromedriver/
- 1.spring:helloword/注入/CDATA使用/其他Bean/null&级联/p命名空间
新建工程,导入jar,添加spring配置文件(配置文件xxxx.xml)! 1.Helloword实现 Helloword.java public class HelloWord { private ...
- Search - Dictionary
Search III Your task is to write a program of a simple dictionary which implements the following ins ...
- CentOS 安装postgresql
CentOS 安装postgresql 添加postgresql官网安装源 在/etc/yum.repos.d目录下新建pgdg-10-centos.repo 文件 [pgdg10] name=P ...
- servelet跳转页面的路径中一直包含sevelet的解决办法
解决办法1: 在web.xml配置文件中修改: <servlet-mapping> <servlet-name>LoginServelet</servlet-name&g ...
- winform 实现定位
如何在winform中 导入地图实现定位功能 ? 从网上下个BaiDuMap.htm, 就是个js文件 在form中加入webBrowser控件,然后在窗体的加载事件中写入如下代码 webBro ...
- react系列(三)组件间通信
组件间通信 React的基本组件元素是一个个组件,组件之间可能存在关联.组合等关系.不同的组件之间,经常会发生数据传递或者交换,我们称之为组件间通信. 根据传递的复杂程度,可以分为三种情况: 父子间通 ...
- 算法是什么(二)手写个链表(java)
算法是什么(二)手写个链表(java) liuyuhang原创,未经允许禁止转载 目录 算法是什么(〇) 很多语言的API中都提供了链表实现,或者扩展库中实现了链表. 但是更多的情况下,Map(或 ...
- day 03 --Haproxy 增加, 删除,查询
key 知识点:函数的定义, 函数的递归调用, flag 标志位的使用,eval() 函数 #!C:\Program Files\Python35\bin # -*- conding:utf-8 -* ...
- 『C++』Temp_2018_12_26_02
#include <iostream> #include <string> #include <stdio.h> #include <stdlib.h> ...