$doc->add_term("foo"); $doc->add_value(0, "ABB"); $db2->add_document($doc); $doc->add_value(0, "ABC"); $db2->add_document($doc); $doc->add_value(0, "ABC"); $db2->add_document($doc); $doc->add_value(0, "ABCD"); $db2->add_document($doc); $doc->add_value(0, "ABCÿ"); $db2->add_document($doc); $enquire = new XapianEnquire($db2); $enquire->set_query(new XapianQuery("foo")); $sorter = new XapianMultiValueKeyMaker(); $sorter->add_value(0); $enquire->set_sort_by_key($sorter, true); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(5, 4, 3, 2, 1)); $sorter = new XapianMultiValueKeyMaker(); $sorter->add_value(0, true); $enquire->set_sort_by_key($sorter, true); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(1, 2, 3, 4, 5)); $sorter = new XapianMultiValueKeyMaker(); $sorter->add_value(0); $sorter->add_value(1); $enquire->set_sort_by_key($sorter, true); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(5, 4, 3, 2, 1)); $sorter = new XapianMultiValueKeyMaker(); $sorter->add_value(0, true);
$doc->add_term("foo"); $doc->add_value(0, "ABB"); $db2->add_document($doc); $doc->add_value(0, "ABC"); $db2->add_document($doc); $doc->add_value(0, "ABC"); $db2->add_document($doc); $doc->add_value(0, "ABCD"); $db2->add_document($doc); $doc->add_value(0, "ABCÿ"); $db2->add_document($doc); $enquire = new XapianEnquire($db2); $enquire->set_query(new XapianQuery("foo")); $sorter = new XapianMultiValueSorter(); $sorter->add(0); $enquire->set_sort_by_key($sorter); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(5, 4, 3, 2, 1)); $sorter = new XapianMultiValueSorter(); $sorter->add(0, false); $enquire->set_sort_by_key($sorter); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(1, 2, 3, 4, 5)); $sorter = new XapianMultiValueSorter(); $sorter->add(0); $sorter->add(1); $enquire->set_sort_by_key($sorter); $mset = $enquire->get_mset(0, 10); mset_expect_order($mset, array(5, 4, 3, 2, 1)); $sorter = new XapianMultiValueSorter(); $sorter->add(0, false);