2011-10-17 8 views
6

avere un campo "title" con la definizioneSolr sorta non funziona expectedly

<field name="title" type="text" indexed="true" stored="true"/> 

Voglio visualizzare i risultati in ordine di punteggio, e se è legato, in ordine di titolo come il secondario ordinare.

Tuttavia, quando richiesto con sort=score desc, title asc, i risultati non sono necessariamente in ordine crescente per titolo.

Qualche suggerimento?

risposta

15

L'ordinamento non funziona bene su campi multivalore e tokenizzati.

Documentazione - ordinamento può essere fatto sul "punteggio" del documento, o su qualsiasi = "false" indicizzato = campo "vero" multivalore a condizione che il campo è o non-token (cioè: non ha Analyzer) o utilizza un analizzatore che produce un solo termine (cioè: utilizza il KeywordTokenizer)

http://wiki.apache.org/solr/CommonQueryParameters#sort

Usa stringa come tipo di campo e copiare il campo del titolo nel nuovo campo.

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

<copyField source="title" dest="title_sort" />