2

我一直在搜索这个,但我所做的一切,似乎都不起作用,我试过了,

cat: wolf; category desc
cat: wolf; sort category desc
$query->setQuery("cat: wolf")->sort("category desc");

我无法对结果进行排序,我不知道该怎么做。

4

2 回答 2

4

排序在多值和标记化字段上效果不佳。

文档

排序可以在文档的“分数”上进行,也可以在任何 multiValued="false" indexed="true" 字段上进行,前提是该字段是未标记的(即:没有分析器)或使用仅生成单个 Term(即:使用 KeywordTokenizer)

使用字符串作为字段类型(或应用了小写过滤器和 ascii 过滤器的 KeywordTokenizer)并将类别字段复制到新字段中。

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

<copyField source="category" dest="category_sort" />  
于 2012-12-26T03:42:24.857 回答
1

嗨,我在 solr V 8.6.1 中也面临同样的问题

<fieldType name="lowercase2" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
      <tokenizer class="solr.KeywordTokenizerFactory"/>
    </analyzer>
  </fieldType>

  <field name="top_cat_en_US" type="lowercase2" indexed="true" stored="true"/>
于 2020-09-25T08:59:40.350 回答