PHP 8.4.0 RC4 available for testing

yaz_sort

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

yaz_sortSıralama kuralını belirler

Açıklama

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

Sıralama kuralını belirler ve Z39.50 Sort'u etkin kılar.

yaz_search() işlevinden önce çağırın; tek başına bir etkisi yoktur. yaz_search() ile birlikte kullanıldığında, bir arama yanıtı alındıktan sonra ve Z39.50 Present (yaz_present()) ile herhangi bir kayıt alınmadan önce bir Z39.50 Sort gönderilmesini sağlar.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

kural

alan1 seçenekler1 alan2 seçenekler2 biçeminde bir dizge olup, alan1 ile sıralama için birincil öznitelikler, alan2 ile saniye sayısını, vb. belirtilir.

alan olarak, ya virgüllerle ayrılmış tür=değer çiftlerinden oluşan (1=4,2=1 gibi) bir öznitelik kümesi ya da bir kural dizgesi (title gibi) belirtilir. seçenekler olarak, boşluklarla ayrılarak aşağıdaki karakterler belirtilir:

Sıralama Seçenekleri
a

Artan sıralama

d

Azalan sıralama

i

Harf büyüklüğüne duyarsız sıralama

s

Harf büyüklüğüne duyarlı sıralama

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Sıralama kuralları

Başlıkları harf büyüklüğüne duyarsız olarak artan sırada sıralamak için kullanacağınız kural:

1=4 ia

İkincil olarak yazara göre sıralama yapılacaksa, harf büyüklüğüne duyarlı olarak artan sırada sıralamak için kullanacağınız kural:

1=4 ia 1=1003 sa

add a note

User Contributed Notes 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