【问题标题】:How to add more fields in facet other than default ones using SOLR?除了使用 SOLR 的默认字段之外,如何在构面中添加更多字段?
【发布时间】:2014-08-21 22:07:50
【问题描述】:

如何使用 SOLR 在 facet 中添加除默认字段以外的更多字段?就像 solr 正在返回该方面字段并在方面进行计数,但我希望其他字段也与方面一起获得。请帮忙

例如:- 如果我必须创建一个类别方面,SOLR 将仅返回类别名称并在方面进行计数。因此,如果我还想在该方面添加一个像 category_id 这样的字段,我该怎么做?

编辑:- 我想要这种格式的类别方面。

类别:[ { 名称:“手机”, numDocs: 1002, 类别 ID:1719 }, { 名称:“电池”, numDocs:543, 类别 ID:1533, } ]

【问题讨论】:

    标签: php solr


    【解决方案1】:

    解决方案是在 solrconfig 文件中使用“appends”而不是“defaults”

    这是一个例子:

     <lst name="appends">
         <str name="facet.field">field1</str>
         <str name="facet.field">field2</str>
     </lst>
    

    关键是任何部分标记为“默认值”,这意味着这些是默认值,如果 URL 中未提供该值,则使用默认值。但是,如果该值是通过 URL 传递的,那么这些值将被忽略。

    据我了解,您需要做的是相反的事情。您希望从 url 提供一个可选值,并且仍然能够从配置文件中附加值。 因此,在这种情况下,您将配置放在“附加”部分,而不是“默认”部分。因为默认值会被 url 参数覆盖。

    干杯。

    【讨论】:

    • 将字段附加到 url 的 solr 查询是什么?能给我举个例子吗
    • sorl 查询将照常进行,您只需添加其他参数,例如:server/core/select?q=whatever&facet.field=field3
    【解决方案2】:

    你看过facet parameters documentation吗?

    我不太明白你的问题,但我怀疑查看 facet.query 并标记和排除过滤器可能是正确的研究方向。

    【讨论】:

    • 请立即检查问题以获得澄清
    猜你喜欢
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多