私は自分のウェブサイトの検索エンジンを開発していますが、それに次の機能を追加したいと思います。
- 全文検索
- 機能ですか?
- MongoDBのデータストア
安らかなバックエンドを作りたいです。手動でmongodbにデータを追加し、インデックスを作成します(どちらを選択できますか?MongodbインデックスまたはLuceneなどの他の検索インデックスライブラリ)。node.jsも使いたいです。これらは私が私の研究から見つけたものです。どんなアイデアでもアーキテクチャに感謝します
前もって感謝します
私は自分のウェブサイトの検索エンジンを開発していますが、それに次の機能を追加したいと思います。
安らかなバックエンドを作りたいです。手動でmongodbにデータを追加し、インデックスを作成します(どちらを選択できますか?MongodbインデックスまたはLuceneなどの他の検索インデックスライブラリ)。node.jsも使いたいです。これらは私が私の研究から見つけたものです。どんなアイデアでもアーキテクチャに感謝します
前もって感謝します
Node.js / MongoDB / Elasticsearch(Luceneに基づく)を使用しています。それは素晴らしい組み合わせです。3つのパッケージすべてがネイティブ形式としてJSONを処理できるため、フローも驚くべきものです。したがって、DTOなどを変換する必要はありません。
ご覧ください: http ://www.elasticsearch.org/
私は個人的にSphinxとMongoDbを使用していますが、これは素晴らしいペアであり、問題はありません。
MongoDBをMySQLインスタンスに戻します。このインスタンスは、Sphinxがすばやくインデックスを作成します。_idに積極的にインデックスを付ける必要はないので、検索するオブジェクトの1つの_idを誰が知っているのかわからないので、MySQLに文字列フィールドとして格納するだけで問題なく動作します。
結果をSphinxからプルバックするとき、私が行うのは、(PHPでは)新しいMongoId
、またはあなたの場合はaに変換してからObjectId
、残りのデータについてこのオブジェクトIDを照会することだけです。それはもっと簡単で、問題もなく、面倒でも、何もないことはあり得ません。また、デルタインデックスをMySQLインスタンスに再インデックスする負荷をスピンオフして、MongoDBインスタンスが必要な処理(ユーザーにおいしいデータを提供する)を維持できるようにします。