zoukankan      html  css  js  c++  java
  • JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

    问题一:出现控制台坏的响应错误一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三个域:

    JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误 - 私人频道 - 金色年华

    还有种可能性是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

    JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误 - 私人频道 - 金色年华

    问题三: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.0confCatalinalocalhostsolr.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各种配置文件放置的主要目的地。

  • 相关阅读:
    .NET Interop 工具集
    关于正弦波的算法
    Windows Phone 系列 本地数据存储
    Xaml cannot create an instance of “X”
    Windows Phone 系列 使用 MVVM绑定时无法获取当前值
    Windows Phone 系列 应用程序图标无法显示
    Windows Phone 系列 WPConnect无法上网的问题
    Windows Phone 系列 使用 Windows Phone 保存铃声任务
    WP7.5提交应用
    Windows Phone 系列 动态删除ObservableCollection
  • 原文地址:https://www.cnblogs.com/hhcblog/p/3857389.html
Copyright © 2011-2022 走看看