2015-10-19 6 views
1

Я хочу отсортировать результаты по основе граней. Как я могу найти это в поиске: поиск?Сортировка по граней в поиске: поиск

В настоящее время я использую этот запрос -

let $options := 
<options xmlns="http://marklogic.com/appservices/search"> 
    <return-metrics>false</return-metrics> 
    <return-facets>true</return-facets> 
    <return-results>false</return-results> 
    <additional-query>{cts:query($cts-query)}</additional-query> 
    <constraint name="decade"> 
    <range type="xs:dateTime" facet="true">   
     <bucket lt="2002-01-01T00:00:00Z" ge="2001-01-01T00:00:00Z" name="2001">2001</bucket> 
     <bucket lt="2003-01-01T00:00:00Z" ge="2002-01-01T00:00:00Z" name="2002">2002</bucket> 
     <bucket lt="2004-01-01T00:00:00Z" ge="2003-01-01T00:00:00Z" name="2003">2003</bucket> 
     <bucket ge="2004-01-01T00:00:00Z" name="2004">2004</bucket> 
     <facet-option>limit=10</facet-option> 
     <element ns="http://iddn.icis.com/ns/core" name="released-on"/> 
    </range> 
    </constraint> 
    <operator> 
    <state> 
     <sort-order direction="descending" type="xs:integer"> 
     <score/> 
     </sort-order> 
    </state> 
    </operator> 
</options> 

let $date-seq := search:search("*", $options) 
return $date-seq 

Я хочу изменить параметры так, что я могу сортировать результаты фасетов по количеству строк фасетов.

ответ

3

Не пробовал это с ведрами, но обычно я думаю, что вы бы добавить фасет-параметры «частота порядка» и «нисходящих»:

<constraint name="decade"> 
    <range type="xs:dateTime" facet="true">   
    <bucket lt="2002-01-01T00:00:00Z" ge="2001-01-01T00:00:00Z" name="2001">2001</bucket> 
    <bucket lt="2003-01-01T00:00:00Z" ge="2002-01-01T00:00:00Z" name="2002">2002</bucket> 
    <bucket lt="2004-01-01T00:00:00Z" ge="2003-01-01T00:00:00Z" name="2003">2003</bucket> 
    <bucket ge="2004-01-01T00:00:00Z" name="2004">2004</bucket> 
    <facet-option>limit=10</facet-option> 
    <facet-option>frequency-order</facet-option> 
    <facet-option>descending</facet-option> 
    <element ns="http://iddn.icis.com/ns/core" name="released-on"/> 
    </range> 
</constraint> 
+0

Могу ли я добавить несколько уровней сортировки в нем? Например, для первого уровня, который я отсортировал по частотовому порядку, для второго уровня я хочу сортировать по имени грани. –

+0

Я так не верю. Факсимильные опции для заказа - это «частотный порядок» и «порядок позиций». –

+0

Спасибо Дэйв. Это не повлияет. Я могу делать то, что я намерен только с этими двумя вариантами. –