Добавление критериев сортировки Solr в именованный запрос в Spring Data - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь добавить критерии sort к поиску Solr данных Spring.

Я видел методы для сортировки результатов поиска (List <> .. после того, как данные были получены от Solr), но не для указания порядка сортировки для Solr в запросе. Запрос Solr должен выглядеть следующим образом ....

http://localhost:8088/solr/books/select?fl=fullrecord%2C%20url&q=mod_date%3A%5B2012-04-17T11%3A38%3A15Z%20TO%20NOW%5D&sort=mod_date%20asc

Мне нужно сделать это в Solr , потому что запрос разбит на страницы (возможно, это сотни тысяч результатов), и поэтому для каждого запроса возвращается только ограниченное количество результатов (одна страница). Как добавить строку запроса solr «& sort = mod_date asc»?

// Catalog.findByDateChanged=mod_date:[?0 TO ?1]

public interface CatalogRepository extends SolrCrudRepository<CatalogDoc, String> {
    @Query(name = "Catalog.findByDateChanged", fields = { "fullrecord", "url" })
    public Page<CatalogDoc> findByDateChanged(String fromDate, String toDate, Pageable pageable);

}

1 Ответ

0 голосов
/ 20 апреля 2019

Кажется, что сортировка может быть добавлена ​​к вызову ...

Page<CatalogDoc> results = solrRepo.findByDateChanged(from, to, 
                  PageRequest.of(pageNo, perPage, Sort.Direction.ASC, "mod_date" ));

Любопытно, что она добавляет его дважды в команду к Solr ...

&sort=mod_date+asc,mod_date+asc
...