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.yaz_sort
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
yaz_sort
Референца за `function.yaz-sort.php` со подобрена типографија и навигација.
yaz_sort
(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)
yaz_sort — Поставува критериуми за сортирање
= NULL
Оваа функција поставува критериуми за сортирање и овозможува Z39.50 Сортирање.
Повикајте ја оваа функција before yaz_search(). Користењето на оваа функција само по себе нема ефект. Кога се користи во комбинација со yaz_search(), Z39.50 Сортирање ќе биде испратено откако ќе се прими одговор од пребарувањето и пред да се преземат какви било записи со Z39.50 Present (yaz_present().
Параметри
id-
Оваа функција треба да се повика пред yaz_connect().
criteria-
Низа што има форма field1 flags1 field2 flags2 , каде што field1 ги специфицира примарните атрибути за сортирање, field2 секундарни, итн.
Полето специфицира или нумеричка комбинација на атрибути што се состои од парови тип=вредност разделени со запирка (на пр.
1=4,2=1) ; или полето може да специфицира критериуми во обичен текст (на пр.title. Знамето е низа од следниве знаци што не смеат да бидат разделени со празно место.-
Знаменца за сортирање
a-
Сортирај растечки
d-
Сортирај опаѓачки
i-
Сортирање без разлика на големината на буквите
s-
Сортирање со разлика на големината на буквите
Вратени вредности
Не се враќа вредност.
Примери
Пример #1 Критериуми за сортирање
За да сортирате по наслов на атрибут Bib1, без разлика на големината на буквите и растечки, би ја користеле следната критериум за сортирање:
1=4 ia
Ако секундарниот критериум за сортирање треба да биде автор, со разлика на големината на буквите и растечки, би ја користеле:
1=4 ia 1=1003 sa