この記事では、AngularとElasticsearchを使用してレシピ検索Webサイトを構築することを示しています。 SolrやLuceneとのレスリングにうんざりしていませんか? オープンソースのLuceneベースのストレージエンジンであるElasticsearchは、2010年以来よりシンプルなソリューションを提供します。単なる検索エンジン以上のものです。検索速度に優先順位を付けるドキュメントストアです。多くのアプリケーションでは、バックエンド全体として機能します。
Leverages ElasticSearchのJSON互換性とOpenRecipes、すぐに利用できるJSONレシピデータセット。
elasticsearchをダウンロードして実行します。組み込みのRESTFULバックエンドは、相互作用を簡素化します。 JavaScriptドライバーは、この例で使用されています データの摂取:
OpenRecipesデータベース(大きなJSONファイル)を取得します。提供されたnode.jsスクリプト()を使用しています
load_recipes.js
npm install elasticsearch
curl
elasticsearchクエリ:curl -XPOST http://localhost:9200/recipes/recipe/_search -d '{"query": {"match": {"_all": "cake"}}}'
クエリはelasticsearchに送信されます
検索結果が取得されます。
結果レンダリング:結果がユーザーに表示されます。
window.MyOpenRecipes = angular.module('myOpenRecipes', ['elasticsearch'], ...);
Angularモジュールをセットアップします。recipeCtrl
検索とページネーションを含むUIインタラクションを管理します
recipeService
$q
展開ノート:生産展開については、ElasticSearchインスタンスを保護します。 ElasticSearchには、組み込みのユーザー/許可管理がありません。必要なエンドポイントのみへのアクセスを制限するには、プロキシ(nginxなど)が推奨されます(例えば、)。
結論:/recipes/recipe/_search
このチュートリアルは、AngularおよびElasticsearchを使用して機能的なレシピ検索Webサイトを構築するための実用的なガイドを提供します。 完全なコードはGitHubで使用できます(元のテキストではリンクが提供されていません)。 FAQSセクションでは、パジネーション、クエリの最適化、エラー処理、セキュリティ、テスト、展開、リアルタイム検索、集約、オートコンプリート、クラスターパフォーマンスモニタリングに関する一般的な質問に対処します。
以上がAngularとElasticsearchを使用してレシピ検索サイトを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。