
Solr
初级以上
开始觉悟,得认真学习。
展开
-
Solr schema.xml中无法使用非string类型(long,int)的id问题
在修改schema.xml的field时,想使用long做为id的数据类型,修改后重新加载配置的时候报错。原来schema.xml中field id的类型为string。 解决办法是将solrconfig.xml的searchComponent元素注释掉就可以了。 <!-- long elevate.xml -->修改后重新reload就原创 2016-07-14 16:23:23 · 4857 阅读 · 0 评论 -
Solr4.7.2+tomcat+ZooKeeper 部署SolrCloud 之 删除Collection
Solr+tomcat+ZooKeeper部署SolrCloud。集中中有1台机器系统坏了,重装了系统,该机器上的collection分片文件也不见了。这台机器重装完操作系统后,重新部署solr,但这时原本Collection的分片不完整,决定将全部分片删除掉,重新创建collection,于是手工删除了各台机器上的collection分片文件,重启solr后,仍然会看来这个collection,原创 2016-10-19 17:01:59 · 1890 阅读 · 0 评论 -
tomcat下SolrCloud 出现Shard Gone
在项目中,tomcat下搭建SolrCloud运行得好好的,今天应用程序报错,查询不了Solr的数据,发生原来是有1台机器的shard冗掉了,出现 Gone的状态。但其他Solr主机都正常,于是开始对故障主机进行问题排查:1)机器上tomcat运行正常 —— 不是tomcat冗掉;2)机器上的shard文件存在 —— 不是shard文件丢失;3)重启机器上的tomcat服务,好了,问原创 2016-09-08 15:33:24 · 2004 阅读 · 0 评论 -
粗心的报错 - HttpSolrServer$RemoteSolrException: missing content stream
最近由于项目需要,需要将Oracle中的历史数据导入到Solr中,简单地写了个Java程序,通过降序,由新至旧导入历史数据。这是为了保障Oracle能正常服务于应用程序,所以采用增量导入的方式(表数据量太大几十亿,只能根据ID段进行增量)。 程序运行1段后,就报错:HttpSolrServer$RemoteSolrException: missing content stream原创 2016-08-29 11:09:45 · 3693 阅读 · 0 评论 -
Data Import Handler - DIH相关命令
许多搜索应用程序的数据一般都以结构化的格式存储,如关系数据库。数据导入处理程序(DIH)提供了一种机制,可将数据存储中的内容导入到solr并建立index。除了关系数据库,DIH还可以导入基于HTTP数据来源的内容,如RSS和ATOM提要,电子邮件存储库和结构化的XML。 DIH命令通过一个HTTP请求将数据发送到Solr。DIH支持以下操作:命名描述翻译 2016-06-23 12:24:24 · 862 阅读 · 0 评论 -
搭建SolrCloud时,使用HostName作为Node时需要注意
在搭建SolrCloud时,我为方便在Admin UI中监控节点是否正常,我使用了主机名(HostNameA、HostNameB...)来指定Node,这样一来,在Admin UI中看到的Collection的位置信息都是以主机名的形成显示的。我觉得机器名比IP地址好理解,所以就这么做了。 这样设置好了,SolrCloud运行正常了,然后问题来了,在开发的机器上(与Solr不在同一台原创 2016-07-29 09:42:00 · 797 阅读 · 0 评论 -
使用Shell定时任务,向Solr增量写入数据
1、编写Shell脚本:#!/bin/bash# 执行solr/userinfo的增量导入curl 'http://localhost:8983/solr/userinfo/dataimport?command=delta-import&clean=false'echo 'solr-core:userinfo delta-import success.'2、为脚本添加可执行权限:原创 2016-07-08 10:52:10 · 1536 阅读 · 0 评论 -
通过DIH工具增量将MySQL表中的数据导入Solr时,last_index_time小于当前时间8小时的问题
Solr安装后,使用的是世界统一时间UTC。而中国大陆、中国香港、中国澳门、中国台湾等地区的时间与UTC的时差均为+8,也就是UTC+8。DIH工具增量导数据时,默认会使用最后一次全量、增量命令的时间作为下次增量命令时取数据的判断条件${dataimporter.last_index_time},那么所差的这8小时将给数据增量还来影响。为了使Solr的时间与我们的数据库时间一致,我原创 2016-06-22 16:32:52 · 2816 阅读 · 4 评论 -
配置Solr的DIH时,重启Solr时报错ClassNotFoundException - DataImportHandler
使用Solr的DIH工具进行配置完成后,重启Solr后,在Solr Admin UI上报如下错误:Error loading class 'org.apache.solr.handler.dataimport.DataImportHandler'排查日志文件:solr_home/server/logs目录下,发现了如下错误。Caused by: java.lang.ClassNot原创 2016-06-21 21:22:57 · 2759 阅读 · 0 评论 -
使用curl向Solr上传Json Document的2种方式
向Solr的Collection(Core)上传document的方式有很多,Solr支持的document格式也有很多,本次介绍使用curl向solr提交Json document的2种方式。方式一:上传json文件上传多个json document,一般都是采用直接上传json文件来实现,这样不会使curl请求的内容太长,主要命令如下:curl 'http://localhost:原创 2016-07-04 16:48:59 · 2602 阅读 · 0 评论 -
Solr 4.7.2 更新 SolrCould 的 schema.xml 方式
在对schema.xml进行修改后,要想使schema.xml生效,有2种方式: 1)重新启动SolrCould集群; 2)重新加载配置文件; 如果使用第1种方法,就会使整个集群处于一段时间内不可用;我比较建议使用第2种方法,虽然第2种方法会比较麻烦。下面介绍第2种方法的操作步骤。 重新加载配置文件: 1)更新集群原创 2016-11-02 11:52:09 · 2060 阅读 · 0 评论