Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取JSON格式的SolrJ suggester输出或将响应转换为POJO_Java_Solr_Solrj - Fatal编程技术网

Java 如何获取JSON格式的SolrJ suggester输出或将响应转换为POJO

Java 如何获取JSON格式的SolrJ suggester输出或将响应转换为POJO,java,solr,solrj,Java,Solr,Solrj,我对Solr/SolrJ很陌生。我想为我的查询获取建议,为此我创建了一个名为“建议”的请求处理程序,我使用以下链接作为参考:SuggesterLookupImplementations。它提供了正确的输出,但是是bean格式的,即使我提供了参数:query.setwt,json。我需要将查询的输出转发到客户端应用程序。如何以JSON格式获取响应,或者如何以某种POJO格式转换响应。当我使用默认的请求处理程序(即select)时,我能够成功地做到这一点,它提供了一个响应,我能够将该响应转换为POJ

我对Solr/SolrJ很陌生。我想为我的查询获取建议,为此我创建了一个名为“建议”的请求处理程序,我使用以下链接作为参考:SuggesterLookupImplementations。它提供了正确的输出,但是是bean格式的,即使我提供了参数:query.setwt,json。我需要将查询的输出转发到客户端应用程序。如何以JSON格式获取响应,或者如何以某种POJO格式转换响应。当我使用默认的请求处理程序(即select)时,我能够成功地做到这一点,它提供了一个响应,我能够将该响应转换为POJO,因为它包含我在Solr模式中拥有的所有相同字段。如果您需要任何其他信息,请告诉我。提前感谢您。

将您的建议处理程序添加到选择请求处理程序,然后从那里开始。您需要在solrconfig.xml中执行此操作,配置如下所示:

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <int name="rows">10</int>
      <str name="df">dflt</str>
      <str name="spellcheck">true</str>
      <str name="spellcheck.dictionary">suggest</str>
      <str name="spellcheck.count">3</str>
    </lst>
    <arr name="last-components">
        <str>suggest</str>
    </arr>
  </requestHandler>

<searchComponent class="solr.SpellCheckComponent" name="suggest">
    <str name="queryAnalyzerFieldType">spellcheck</str>
    <lst name="spellchecker">
      <str name="name">suggest</str>    
      <str name="field">spellcheck</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <int name="minPrefix">1</int>
      <int name="minQueryLength">3</int>
      <int name="maxEdits">2</int>
      <int name="maxInspections">3</int>
      <int name="minQueryLength">3</int>
      <float name="maxQueryFrequency">0.01</float>
      <float name="thresholdTokenFrequency">.00001</float>
      <float name="accuracy">0.5</float>
    </lst>
  </searchComponent>

我想分别使用/选择和/建议。我不想把搜索结果和建议混为一谈。我在Solr论坛上提出了这个问题,并找到了解决问题的方法。您可以在这里查看: