问题一:出现控制台坏的响应错误一Bad request

控制台出现错误如下:

Bad Request

request: http://hostIP:8983/solr/update?wt=javabin&version=1

解决方法:

出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应,

导致solr服务器找不到域,拒绝访问。

打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域。

例如以下代码添加了:title,URL,text三个域:

还有种可能性是SolrInputDocument doc = new SolrInputDocument() 和doc.addField 不在一个循环中

问题二:为Solr服务器添加IKanalyzer中文分词组件

中文分词不支持

在进行中文搜索和建立索引的过程中,不能正确拆分中文。

解决方法:

一.把IKAnalyzer3.2.8.jar放到

apache-tomcat-6.0.32/webapps/solr/WEB-INF/lib下面

二.修改配置文件:SOLR_HOME/conf/schema.xml


问题三:Solr服务器不能搜索中文,出现中文乱码

solr中文乱码

在solr中搜索中文时出现中文乱码

解决方法:

主要是修改WEB容器的编码格式,以tomcat为例,需要修改tomcat默认的编码值为UTF-8。

具体为修改,将TOMCAT_HOME下conf文件夹下的server.xml文件内的如下代码:

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

修改为:

<Connector port="8983" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

其中修改了PORT:8080为8983,,主要是SOLR服务器的默认端口为8983,添加了tomcat容器的默认编码为:URIEncoding="UTF-8"。

服务器端在获取数据的时候最好在获取数据之前加上如下一句:

//下面这句很重要确保中文不出现乱码
  request.setCharacterEncoding("UTF-8");

然后再获取数据:

String title=request.getParameter("TITLE");
  String URL=request.getParameter("URL");
  String text=request.getParameter("TEXT");

问题四:Solr服务器的默认索引位置

Solr默认的索引存放位置为SOLR_HOME下的data/index下,

如果想存在特定的位置,就要修改索引主目录。

解决方法:

修改SOLR_HOME下conf文件夹下solrconfig.xml文件,改为:

<dataDir>${solr.data.dir:/home/solrindex}</dataDir>

则index的主要存储目录改为:/home/solrindex。

问题五:SOLR服务器的SOLR_HOME有什么作用

新建Tomcat 6.0\conf\Catalina\localhost\solr.xml:

<Context docBase="TOMCAT_HOME/webapps/solr.war" debug="0" crossContext="true" >

<Environment name="solr/home" type="java.lang.String" value="SOLR_HOME" override="true" />

</Context>

其中solrhome的作用是在浏览器中访问的地址和solr各种配置文件放置的主要目的地。

JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误的更多相关文章

  1. VB6.0环境下的CATIA二次开发简介

    CATIA作为CAD/CAE/CAM/PDM一体化的软件,广泛用于航空航天.汽车.船舶及电子工业,尤其在航空航天业,有八成以上厂商使用CATIA的市场[11].然而由于使用习惯和使用的侧重点不用,功能 ...

  2. 搭建eclipse环境下 Nutch+Mysql 二次开发环境

    最近看了下Nutch,目前Nutch最新版本2.3.1,支持Hbase.MongoDB等存储,但在搭建和测试过程中发现对Mysql 的支持好像有点问题. 后来将Nutch版本改为2.2.1.基于Nut ...

  3. Ubuntu环境下Nutch1.2 二次开发(添加中文分词)

    前提nutch1.2已部署到eclipse中 详见:http://www.cnblogs.com/cy163/archive/2013/02/19/2916419.html 1 部署IKAnalyze ...

  4. Windows环境下利用github快速配置git环境

    在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的win ...

  5. Python之虚拟机操作:利用VIX二次开发,实现自己的pyvix(系列一)成果展示和python实例

    在日常工作中,需要使用python脚本去自动化控制VMware虚拟机,现有的pyvix功能较少,而且不适合个人编程习惯,故萌发了开发一个berlin版本pyvix的想法,暂且叫其OpenPyVix.O ...

  6. Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

  7. 运用Java对微信公众平台二次开发技术——开发者模式接入

    当初我在这碰到了很多问题,市面上以及网络上的资料特别少,所以当初碰了很多壁,所以现在跟大家分享一下,如何用Java,对微信公众平台进行二次开发. 一.开发预备知识: 最基本的JavaSE与JavaWe ...

  8. java eclipse war包的二次开发方法

    有实际项目在跑的war包,却没有源码,苦于想查看源码,身处运维组为研发组看不起,拿不到源码,只能自己来反编译了. 只要你细心点,其实在解压war包后,可以看到文件夹中,已经存在了jsp文件,但是却没有 ...

  9. 新闻实时分析系统 基于IDEA环境下的Spark2.X程序开发

    1.Windows开发环境配置与安装 下载IDEA并安装,可以百度一下免费文档. 2.IDEA Maven工程创建与配置 1)配置maven 2)新建Project项目 3)选择maven骨架 4)创 ...

随机推荐

  1. 搜索引擎Lucene之皮毛

    一.Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索 ...

  2. PyQt5系列教程(二)利用QtDesigner设计UI界面

    软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.net/dj ...

  3. PowerDesigner 生成的脚本取掉双引号

    建模工具PowerDesigner http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html 默认导出在带双引号,表名称后期使用的时 ...

  4. delphi IDE插件 cnpack 使用记录

    CnPack  http://www.cnpack.org Alt+F11 ,添加引用,但是文件列表太多,速度慢,打开添加引用窗口后,工具栏有个hook,去掉hook就用IDE自带的速度很快! GE  ...

  5. Cardboard Talk01 HeadTracker

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Android studio 3.0.0 | Cardboard 1.0 使用 Google 的 Cardboard开发V ...

  6. (4)activiti工作流引擎之uel表达式

    有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的busines ...

  7. 模板引擎 引自 《PHP核心技术与最佳实践》

    随着web的发展,仅一门语言或者一种技术已经不能满足需求,分层架构显得越来越重要.在大型架构中,从来不会简单地应用php从头到尾实现一个完整的mvc架构.可能底层是c/java的支撑,负责密集运算和y ...

  8. LevelDB Cache机制

    [LevelDB Cache机制] 对于levelDb来说,读取操作如果没有在内存的memtable中找到记录,要多次进行磁盘访问操作.假设最优情况,即第一次就在level 0中最新的文件中找到了这个 ...

  9. CompletionPort

    [CompletionPort] 1.CreateIoCompletionPort.此方法用于创建与绑定.此方法调用后,socket即退出,只能通过CompletionKey来辨认是哪个socket的 ...

  10. Python爬虫进阶五之多线程的用法

    前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread ...