Apache Solr:facet值的顺序依赖于另一个方面

时间:2016-12-30 18:30:59

标签: solr faceted-search

我的facet按facet整数值自动排序,然后按字母顺序排序,但我需要facet B中的顺序依赖于facet A中的顺序。

目前的结果:

<lst name="facet_fields">
    <lst name="label_nl_0">
        <int name="Accessoires">6</int>
        <int name="Audio / Music">6</int>
    </lst>
    <lst name="slug_nl_0">
        <int name="aa-to-z-music">6</int>
        <int name="random-slug">6</int>
    </lst>
</lst>

期望的结果:

<lst name="facet_fields">
    <lst name="label_nl_0">
        <int name="Accessoires">6</int>
        <int name="Audio / Music">6</int>
    </lst>
    <lst name="slug_nl_0">
        <int name="random-slug">6</int>
        <int name="aa-to-z-music">6</int>
    </lst>
</lst>

无论facet label_nl_0中的顺序是什么,facet slug_nl_0应该具有与数据库中定义的label_en / slug_en值匹配的顺序(见下文)。

以下是我在Solr中获取数据的方法:

数据-config.xml中

SELECT label_en as label_en_0,slug_en as slug_en_0 FROM products WHERE id=@productid

schema.xml

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

在数据库中,我的产品被分配了两个以下两个类别(第一类中有6个,第二类中有另外6个)。产品总是只有一类:

第1类

  

label_en =配件
  slug_en = random-slug

第2类

  

label_en =音频/音乐
  slug_en = aa-to-z-music

我的Solr查询: http://localhost:8983/solr/shop/select/?indent=on&facet=true&sort=updatedate%20desc&start=0&rows=20&fl=id,titel&facet.mincount=1&fl=label_en_0,slug_en_0&facet.field=label_en_0&facet.field=slug_en_0&q=

0 个答案:

没有答案