2017-03-21 2 views
2

In der Funktion habe ich "score-random" zur Option der Abfrage hinzugefügt, aber es gibt die gleichen Ergebnisse zurück.cts: uris score-random Option gibt keine zufälligen URIs zurück

Hier ist meine Beispielabfrage

cts:uris("",("score-random"), cts:collection-query('my-collection')) [1 to 10] 

Im Gegensatz zu cts: Suche, die zufälligen Ergebnisse liefert

cts:search(collection("my-collection"), cts:and-query(()), ("score-random"))[1 to 10] ! document-uri(.) 

Antwort

4

Try this:

cts:uris("",("score-random","sample=10"), cts:collection-query('my-collection')) 

Grundsätzlich "sample=10" anstelle von [1 to 10].

Die Funktion cts:uris() gibt ihre URIs immer alphabetisch, aufsteigend oder absteigend sortiert zurück. Hier bitte ich um eine zufällige Stichprobe von 10 zurückgegeben werden, die dann alphabetisch zurückgegeben werden.

Willst du die zehn in zufälliger Reihenfolge zurückgegeben werden?

for $uri in cts:uris("",("score-random","sample=10"), cts:collection-query('my-collection')) 
order by xdmp:random() 
return $uri 

(Mit der Technik von meiner Antwort https://stackoverflow.com/a/42262954/538697)