yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sortDefine critérios de classificação

Descrição

yaz_sort(resource $id, string $criteria): void

Esta função define critérios de classificação e habilita a classificação Z39.50.

Chame esta função antes de yaz_search(). Usar esta função sozinha não tem efeito algum. Quando usada em conjunto com yaz_search(), uma ordenação Z39.50 será enviada após uma resposta de pesquisa ser recebida e antes que quaisquer registros sejam recuperados com Z39.50 Present (yaz_present()).

Parâmetros

id

O recurso de conexão retornado por yaz_connect().

criteria

Uma string que assume o formato field1 flags1 field2 flags2 onde field1 especifica os atributos primários para ordenação, field2 os secundários, etc.

O campo especifica uma combinação de atributos numéricos consistindo de pares tipo=valor separados por vírgula (por exemplo, 1=4,2=1); ou o campo pode especificar um critério de string simples (por exemplo, title. Os sinalizadores são uma sequência dos seguintes caracteres que não podem ser separados por nenhum espaço em branco.

Sinalizadores de Ordenação
a

Ordem ascendente

d

Ordem descendente

i

Ordenação insensível a maiúsculas/minúsculas

s

Ordenação sensível a maiúsculas/minúsculas

Valor Retornado

Nenhum valor é retornado.

Exemplos

Exemplo #1 Critérios de Ordenação

Para classificar pelo título do atributo Bib1, sem diferenciação de maiúsculas e minúsculas e em ordem crescente, seriam usados os seguintes critérios de ordenação:

1=4 ia

Se os critérios de ordenação secundários forem autor, diferenciação entre maiúsculas e minúsculas e ordem crescente, seria usado:

1=4 ia 1=1003 sa

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
1
peter at NOSPAMimtc dot gatech dot edu
20 years ago
This information is located in several places in the documentation, but takes awhile to find.

yaz_sort() only works for fields that have an associated sort register. Failure to link a sort register will generate the error "Cannot sort according to sequence".

The sort register is created in the default.idx file and referenced in the *.abs file. This is the sort register setting in default.idx:

...
# Sort register (no mapping at all)
sort s
completeness 1
charmap string.chr
...

In the above code the "s" register is setup as the sort register. Charmap string.chr defines the string conversion for diacritics.

This is the reference to the sort index in the *abs file:

...
elm (2,1) title !:w,!:p,!:s
...

In the above line the "!:s" causes a sort register to be created for the field.

Once the above changes have been made, reindex all the source records and restart the server. Check for a "sort<fieldid>-0.mf" file in the zebra data directory to verify operation. yaz_sort() should now work properly.
To Top