Solr排序似乎不起作用

时间:2012-12-26 00:54:19

标签: solr

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

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

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

2 个答案:

答案 0 :(得分:4)

排序在多值和标记化字段上不起作用。

Documentation

  

可以对文档的“得分”进行排序,也可以对任何multiValued =“false”indexed =“true”字段进行排序,前提是该字段是非标记化的(即:没有分析器)或使用分析器只产生一个Term(即:使用KeywordTokenizer)

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

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

<copyField source="category" dest="category_sort" />  

答案 1 :(得分: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"/>