2

popularityreviews_countおよびの3 つの属性を作成しましpm_flat_volumeた。

これらの 3 つの属性には、数値 (int) が含まれています。Solrschema.xmlで次の動的フィールドを定義しました。

<dynamicField name="attr_sort_reviews_count_*" type="sint" indexed="true" stored="true"/>
<dynamicField name="attr_sort_pm_flat_volume_*" type="sint" indexed="true" stored="true"/>
<dynamicField name="attr_sort_popularity_*" type="sint" indexed="true" stored="true"/>

「インデックス管理」のフィールドを更新すると、次の結果が得られます。

  • reviews_count = desc/asc による並べ替え: 正常に動作しています
  • 人気 = 降順/昇順で並べ替え: 正常に動作
  • pm_flat_volume = desc/asc による並べ替え : 正しく機能していません (*)

(*) [1, 54, 2, 3, 91, 87, 100] の場合

ASC = [1, 100, 2, 3, 54, 87, 91] it should be [1, 2, 3, 54, 87, 91, 100]
DESC = [91, 87, 54, 3, 2, 100, 1] it should be [100, 91, 87, 54, 3, 2, 1]

さまざまな方法を試しましたが、どれもうまくいきませんでした。繰り返しますが、これら 3 つの属性はすべて同じ構成になっています。

ありがとうございました!

4

1 に答える 1

0

とfieldTypesの両方について、schema.xml のエントリのclassプロパティを確認します。を使用していることを確認してください。数値順ではなく辞書式順序を使用していると思われます。<fieldType>sintintsolr.TrieIntFieldsolr.IntField

于 2013-01-17T13:30:58.370 に答える