Sfenks: toplam işlevlerini kullanarak grupları sıralamak SetGroupBy kullanma

0 Cevap php

Ben bir öznitelik grup tarafından istiyorum, sonra artan veya azalan sırayla birinde farklı bir niteliğin min veya max değeri kullanılarak bu grupları sıralamak.

Biz de dahil olmak üzere özellikleri bir grup ile bir kaynağı tanımlanmış ettik:

  sql_attr_uint = CategoryId
  sql_attr_str2ordinal = SortableName

Gruplama olmadan, örneğin kullanarak (artan ürün adıyla, örneğin sıralama veya azalan) SortableName kullanarak sonuçları sıralayabilirsiniz $sphinx->SetSortMode(SPH_SORT_ATTR_DESC, 'SortableName')

Biz KategoriKimliği göre gruplandırma çalıştığınızda, biz o değere göre gruplar sıralamak sonra, 'en düşük' adı ile ürünü seçmek istiyorum. Biz hiçbir başarı ile bu çalıştı:

  $sphinx->SetGroupBy('CategoryId', SPH_GROUPBY_ATTR, 'MIN(SortableName) asc');

Biz çalışıyoruz sona erdi dokümanlar küçük bir yanlış yorumlama sonra:

  $sphinx->SetSelect('MIN(SortableName) AS FirstName');
  $sphinx->SetGroupBy('CategoryId', SPH_GROUPBY_ATTR, 'FirstName asc');

Bu da işe yaramazsa.

Bu bir sql_attr_str2ordinal alanını kullanarak bunu yapmak için çalışıyoruz bu önemli değil - biz sadece bir sayı olarak tedavi etmek istediğiniz. Biz C # API kullanarak bu çalıştım, biz "niteliği sortablename desteklenmeyen bir tür (type = 3) biridir" belirten bir sfenks hata var

Grupları bu şekilde sıralamak için nasıl bir fikir?

0 Cevap