use solr for findBook and findBooks
This commit is contained in:
@@ -76,7 +76,7 @@ class BookSearch
|
||||
throw new WebException ("SolrError", $e->getMessage(), -700);
|
||||
}
|
||||
|
||||
$books = isset($results['response']['docs']) ?
|
||||
$books = isset($results['response']['docs']) && $results['response']['docs'] ?
|
||||
array_map(function($o) { return (array) $o; }, $results['response']['docs']) :
|
||||
false;
|
||||
|
||||
|
||||
@@ -214,12 +214,12 @@ class NetBiblio extends WebService
|
||||
|
||||
public function FindBooks($codes)
|
||||
{
|
||||
$this->CheckSession();
|
||||
$codes = json_decode($codes);
|
||||
$bs = new BookSearch();
|
||||
$bs->addQuery('code:('.implode(' OR ', $codes).')', null, false);
|
||||
$results = $bs->getResults(0, count($codes));
|
||||
return $results['books'] ? $this->AddBookData($results['books']) : array();
|
||||
|
||||
$codes = json_decode($codes, true);
|
||||
$codes = array_map('intval', $codes);
|
||||
$books = AudioBook::findBy('NoticeNr', $codes, true);
|
||||
return array_values($this->AddBookData($books));
|
||||
}
|
||||
|
||||
private function GetFiles(array $ids)
|
||||
@@ -364,11 +364,10 @@ class NetBiblio extends WebService
|
||||
|
||||
public function FindBook($code)
|
||||
{
|
||||
$this->CheckSession();
|
||||
|
||||
$code = intval($code);
|
||||
$book = AudioBook::findBy('NoticeNr', $code, true);
|
||||
return $this->AddBookData($book);
|
||||
$bs = new BookSearch();
|
||||
$bs->addQuery($code, 'code');
|
||||
$results = $bs->getResults(0, 1);
|
||||
return $results['books'] ? reset($this->AddBookData($results['books'])) : null;
|
||||
}
|
||||
|
||||
public function GetRandomBooks($number = 100, $seed = null) {
|
||||
|
||||
Reference in New Issue
Block a user