am используя поиск api views модуль для поиска моего apache Solr Search engine. Я хотел бы иметь собственный заказ для возвращенных результатов. Я хотел бы, чтобы сначала отображались результаты jq_articles, затем книги, затем mydocuments.Drupal Search API пользовательский поиск по полю
Как я могу получить этот заказ клиента (без ASC или DESC) для моих возвращенных результатов?
Я имею в виду, мне нужно что-то вроде $ query-> orderby ('jq_articles,' books ',' mydocuments ');
Это как мой query_alter смотрит на время бытия:
<?php
function mymodule_search_api_query_alter(SearchApiQueryInterface $query) {
$filters = &$query->getFilter()->getFilters();
foreach ($filters as $i => $filter) {
$condition="";
$finalfilters=&$filter->getFilters();
foreach($finalfilters as $z => $singlefilter){
if($singlefilter[0]=='type') {
$condition=$singlefilter[1];
unset($finalfilters[$z]);
}
}
}
$filter = $query->createFilter('OR');
switch($condition) {
case 'journals':
$filter->condition('type', 'jq_articles');
break;
case 'books':
$filter->condition('type', 'books');
break;
case 'mydocuments':
$filter->condition('type', 'mydocuments');
default:
$filter->condition('type', 'mydocuments');
$filter->condition('type', 'books');
$filter->condition('type', 'jq_articles');
break;
}
$query->filter($filter);
}
?>