ElasticSearch5.0
es5.0 のインストールに重要な点はありません。公式ドキュメントのプロセスに従っている限り、通常は正常にインストールして実行できます。ただし、オンライン環境では、他のものは問題ありません。まだ es2.4 を使用しています。第一に、プロジェクトが大きいです。第二に、jdk のバージョンによってメモリ要件が異なります。また、es5.0 以降では、サイトプラグインが廃止されたため、以前のバージョンでは多くのプラグインをインストールできません。たとえば、elasticSearch-head は非常に一般的に使用されており、Grunt を実行するか、実行後に発生する可能性のある他のプラグインを Nginx または Apache ディレクトリにインストールする必要があります。インストール:
$JAVA_HOME が見つかりませんが、実際にインストールされています。/etc/default/elasticsearch を設定できます。このファイルで、JAVA_HOME=/usr/local/java/jdk1.8.0_101/jre;
環境のメモリが小さすぎる場合は、インストールしないでください。もちろん、今のほとんどの人のコンピュータにはかなりのメモリが必要です
をインストールして設定してください。 Laravel/Scout
SCOUT_DRIVER=customElasticSearchELASTICSEARCH_INDEX=boxELASTICSEARCH_HOST=localhost:9200
これらの 3 行の構成は Sc です。使用しているエンジンを確認するには
読者は、私のドライバーが elasticsearch ではなく、customElasticSearch であることに気づくかもしれません
ElasticSearchEngine を開き、performSearch メソッドを見つけると、このコードが
$query = [ 'index' => $this->index, 'type' => $builder->model->searchableAs(), 'body' => [ 'query' => [ 'filtered' => [ 'filter' => $filters, 'query' => [ 'bool' => [ 'must' => $matches ] ], ], ], ], ];
search Method を直接実行すると、詳細については、公式 Web サイトのアドレスを参照してください。幸いなことに、Scout にはカスタム エンジンが用意されています。
そこで、新しい CustomElasticSearchEngine を作成し、継承します。 elasticSearchEngine を作成し、その中で、performSearch メソッドを書き直しました。
elasticSearch
データテーブル
のIDを
のIDとして使用したくない場合は、
modelの$primaryKeyと
public $incrementing = false;を変更する必要があります, したがって、es データの一部 _id がデータベースの id であり、他の部分が新たに指定される場合、現在のデータ テーブル内の他の値を es の ID として指定できます。あなたが行うと、あなたの検索やその他の操作と動作がすべて影響を受けます。