PaliSearch.php 968 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Tools;
  3. use Illuminate\Support\Str;
  4. use Illuminate\Support\Facades\Log;
  5. class PaliSearch
  6. {
  7. public static function search($words,$book,$index,$size){
  8. $host = config('mint.server.rpc.tulip');
  9. Log::debug('tulip host='.$host);
  10. $client = new \Mint\Tulip\V1\SearchClient($host, [
  11. 'credentials' => \Grpc\ChannelCredentials::createInsecure(),
  12. ]);
  13. $request = new \Mint\Tulip\V1\SearchRequest();
  14. $request->setKeywords($words);
  15. $request->setBook($book);
  16. $page = new \Mint\Tulip\V1\SearchRequest\Page;
  17. $page->setIndex($index);
  18. $page->setSize($size);
  19. $request->setPage($page);
  20. list($response, $status) = $client->Pali($request)->wait();
  21. if ($status->code !== \Grpc\STATUS_OK) {
  22. Log::error("ERROR: " . $status->code . ", " . $status->details);
  23. return false;
  24. }
  25. return $response->getItems();
  26. }
  27. }