Symfony 3 框架+Elasticsearch
- 2019 年 10 月 6 日
- 筆記
下載symfony
略
創建一個symfony 3 項目
cd /var/www symfony new search-www
修改composer.json,增加
"require": { ... "elasticsearch/elasticsearch": "~5.3.0" ... }
如果composer.json.lock存在,則刪除。
安裝elasticsearch 庫
cd /var/www/search-www composer install
Symfony項目中創建一個Controller
目錄src/AppBundle/Controller/SearchController.php
<?php namespace AppBundleController; use SensioBundleFrameworkExtraBundleConfigurationRoute; use SymfonyBundleFrameworkBundleControllerController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use ElasticsearchClientBuilder; class SearchController extends Controller { /** * @Route("/search", name="homepage") */ public function indexAction(Request $request) { $client = ClientBuilder::create()->build(); $params = [ 'index' => 'scrapy.course', 'type' => 'normal', 'id' => '1' ]; $response = $client->get($params); return new Response(json_encode($response)); } }
啟動symfony服務
app/console server:run
默認埠為8000
查詢結果
http://localhost:8000/search
{ "_index":"scrapy.course", "_type":"normal", "_id":"1", "_version":1, "found":true, "_source":{ "title":"Think in Java" } }
注: 需要先搭建elasticsearch並插入數據,參見文檔 《Elasticsearch + Kibana 起步》
參考文檔 https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_quickstart.html