【问题标题】:Returning an entire Document on Solr Suggestion返回有关 Solr Suggestion 的整个文档
【发布时间】:2015-10-06 11:28:47
【问题描述】:

实施了基本的 Solr Suggestion。我能够获得建议的条款。 但是有没有办法根据建议返回整个 SOLR 文档?

这里是 solr_config.xml 中的 searchComponent 和 requestHandler。

<searchComponent class="solr.SpellCheckComponent" name="suggest">
       <lst name="spellchecker">
        <str name="name">suggest</str>
        <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
        <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
 <str name="field">complete_search</str>  
        <str name="buildOnCommit">true</str>
        </lst>
        </searchComponent>

    <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
    <lst name="defaults">
        <str name="spellcheck">true</str>
        <str name="spellcheck.dictionary">suggest</str>
        <str name="spellcheck.count">10</str>
        <str name="spellcheck.collate">true</str>
    </lst>
    <arr name="components">
        <str>suggest</str>
    </arr>
</requestHandler>

schema.xml中的field和fieldType定义如下。

 <field name="complete_search" type="text_auto" indexed="true"  stored="true" multiValued="true"/>

  <fieldType class="solr.TextField" name="text_auto">
   <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
   </analyzer>
</fieldType>

我得到的结果如下:

<arr name="suggestion">
<str>global academy for learning</str>
<str>global art</str>
<str>global institute of fine arts</str>
<str>global kids</str>
<str>global music academy</str>
<str>global residential school</str>
<str>globetrippers</str>
<str>globetrotters</str>
<str>glorious kids</str>
<str>glow tennis academy</str>
</arr>

我的查询是http://localhost:8983/solr/core_name/suggest?q=glo

那么有没有办法像在

中那样以 SOLR 文档的形式获取输出
<doc>
    <str name="id">35716</str>
    <str name="PID">35716</str>
    <str name="service_name">Cherubs Montessori</str>
    <arr name="complete_search">
      <str>Cherubs Montessori</str>
      <str>Arts and Crafts</str>
      <str>No 173, 9th Main Road, 7th Sector, HSR Layout</str>
      <str>Bangalore</str>
      <str>HSR Layout</str>
    </arr>
    <str name="permalink">http://zp.local/extracurricular-activities/cherubs-montessori-at-hsr-layout-in-bangalore</str>
    <arr name="categories">
      <str>Arts and Crafts</str>
    </arr>
    <float name="average_ratings">0.0</float>
    <str name="lat_lng">12.9102859,77.6450215</str>
    <str name="listing_thumbnail">/uploads/2015/09/Cherubs-Montessori-300x122.jpg</str>
    <float name="maximum_age">14.0</float>
    <float name="minimum_age">5.0</float>
    <str name="address">No 173, 9th Main Road, 7th Sector, HSR Layout</str>
    <str name="city">Bangalore</str>
    <str name="locality">HSR Layout</str>
    <long name="_version_">1514279153996660736</long></doc>
  <doc>

【问题讨论】:

标签: solr


【解决方案1】:

目前不可能。您只能将payload 属性中的一个字段连同您的建议一起发送。您可以找到更多信息here

【讨论】:

  • 感谢您的链接。因此,如果我想将自动建议与其他有效负载一起使用,建议使用 N-Gram TokenizerEdge N-Gram使用 /select requestHandler 的分词器 分词器?但这会显着增加我的索引大小,对吧?
  • @Varun 是的,你是对的。我的见识也是这么多。我也在寻找相同问题的解决方案。
  • 那么,有没有办法将SuggestHandler的输出作为输入提供给standardRequestHandler?
  • @Varun 我不知道这样的事情。我的猜测是,这可能是不可能的,因为输出和输入的格式已经兼容了。
猜你喜欢
  • 2012-08-14
  • 1970-01-01
  • 2020-12-05
  • 2020-03-08
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
相关资源
最近更新 更多