2015-02-01
いくつかのサイトで問題が発生しました。私はこれらのサイトをamazon ec2でホスティングしているので、高度にカスタマイズされた方法でサーバーをセットアップできると思っていました。あるサイトではシンプルな検索機能を使っていますが、もっと高度な検索機能が欲しかったのです。Solrは素晴らしいソリューションだと思います。多くのホスティングサーバーでは、Javaアプリケーションを実行することができませんが、ec2サーバーでは簡単です。そこで私は、solrをダウンロードしてサーバーにインストールしました。設定は少し複雑ですが、時間と手間をかければ解決します。
問題 最大の問題は、データベースを設定してインデックスを作成した後に、PHPアプリケーションからsolrにアクセスする必要があったことです。あるガイドでは、サービスにpingを打って動作とアクセスを確認することを勧めていました。しかし、私は自分のサーバーにpingを打つことさえできないことに気づきました。この問題は別の記事で解決しました、こちら。pingが動作するようになった後、ウェブサーバのPHPアプリをlocalhost経由でsolrにアクセスするように設定しました(実際には127.0.0.1:8983を使用しました)が、結果は...何も出ませんでした。
解決策 しばらく作業した後、棚に置いておきました。数日後、また作業を再開したのですが、ある検索結果で考えさせられることがありました。ローカルIPが使えなくても、サーバー自体のIPがあることに気づいたのです。私はsolrを全世界に公開したくないので、もう少し考えて、AWSコンソールで発信元のIPに応じたアクセスを設定できることに気づきました。私はセキュリティセクションに行き、ルールを追加しました:ポート8983を開くが、1つのIPアドレスに対してのみ開く:サーバー自体のIPアドレス!これは魅力的に機能しました。安全で、スムーズです。curlリクエストでテストしてみると、確かに問題は解決しました。
www.DeepL.com/Translator(無料版)で翻訳しました。