【问题标题】:Solr: Facet is not creating any outputSolr:Facet 没有创建任何输出
【发布时间】:2015-05-06 12:05:39
【问题描述】:

我正在使用 Solr 4.4.0 并运行一些基本查询。这就是我在查询框中插入 title:* 时所做的事情

<?xml version="1.0" encoding="UTF-8"?>
<response>

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">3</int>
  <lst name="params">
    <str name="q">title:*</str>
    <str name="indent">true</str>
    <str name="wt">xml</str>
    <str name="_">1430883449558</str>
  </lst>
</lst>
<result name="response" numFound="70" start="0">
  <doc>
    <str name="id">db01</str>
    <str name="isbn">1933988177</str>
    <str name="author">Michael McCandless, Erik Hatcher, Otis     Gospodnetic</str>
    <str name="author_s">Michael McCandless, Erik Hatcher, Otis Gospodnetic</str>
    <int name="numpages">475</int>
    <str name="description">When Lucene first hit the scene five years ago, it was nothing short of amazing. By using this open-source, highly scalable, super-fast search engine, developers could integrate search into applications quickly and efficiently. A lot has changed since then-search has grown from a "nice-to-have" feature into an indispensable part of most enterprise applications. Lucene now powers search in diverse companies including Akamai, Netflix, LinkedIn, Technorati, HotJobs, Epiphany, FedEx, Mayo Clinic, MIT, New Scientist Magazine, and many others.</str>
    <str name="category">Computers/Programming/Information Retrieval/Lucene</str>
    <float name="price">31.49</float>
    <str name="price_c">31.49,USD</str>
    <arr name="title">
      <str>Lucene In Action, 2nd</str>
    </arr>
    <str name="yearpub">2010</str>
    <date name="pubdate">2010-07-28T00:00:01Z</date>
    <str name="publisher">Manning Publications</str>
    <str name="store">37.763649,-122.24313</str>
    <long name="_version_">1500385802538975232</long></doc>

等等等等70次......

这没关系,因为这是我想要的结果(70 本书),但是当我尝试添加 facet.field = publisher 时,它什么也没做。它返回与上面完全相同的输出。我怎样才能让这个方面发挥作用?索引设置为 true 和一切。我究竟做错了什么?这是我的架构的摘录:

<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="comments" type="text_general" indexed="true" stored="true"/>
<field name="author" type="text_general" indexed="true" stored="true"/>
<field name="keywords" type="text_general" indexed="true" stored="true"/>
<field name="category" type="text_general" indexed="true" stored="true"/>
<field name="resourcename" type="text_general" indexed="true" stored="true"/>
<field name="url" type="text_general" indexed="true" stored="true"/>
<field name="content_type" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="last_modified" type="date" indexed="true" stored="true"/>
<field name="links" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="yearpub" type="string" indexed="true" stored="true"/>
<field name="pubdate" type="date" indexed="true" stored="true"/>
<field name="publisher" type="text_general" indexed="true" stored="true"/>
<field name="numpages" type="int" indexed="true" stored="true"/>
<field name="isbn" type="text_general" indexed="true" stored="true"/>

【问题讨论】:

  • 将行设置为 0 并检查你得到了什么
  • 所以我得到了一些东西(终于),但这一切都错了。因此,例如,其中一家出版公司名为“剑桥大学出版社”,但输出以某种方式拆分。这就是我的意思: 8 在一行, 1 在另一行, 1 在另一个。
  • 所以在我看来,有空格的事实以某种方式导致了错误。因此,例如 9 是正确的输出。有没有办法逃离这个空间或什么的?喜欢阅读整个内容直到结束标记?

标签: apache solr


【解决方案1】:

您需要在使用 WhitespaceTokenizerFactory 的发布者字段上更改 text_general 意味着它在遇到空格时将短语/字符串分成块。

<field name="publisher" type="text_general" indexed="true" stored="true"/>

所以剑桥大学出版社分为

  1. 剑桥
  2. 大学

要么删除该标记器,要么使用其他不使用 WhitespaceTokenizerFactory

fieldType

您可以使用 string 字段类型,以便更新关注并重新启动 Solr 并再次索引数据

<field name="publisher" type="string" indexed="true" stored="true"/>

【讨论】:

  • 这就是我假设发生的事情。有空格的东西。所以我只是尝试将它从 text_general 更改为 string 并且仍然存在同样的问题:它会将其返回到上面提到的拆分类别中。还有其他类型的建议吗?
  • 需要重启solr,然后重新索引数据
  • 工作就像一个魅力。感谢您的帮助,尤其是您的耐心!我是一个完整的 solr 新手。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-16
  • 2021-02-06
相关资源
最近更新 更多