3

haskell mongodb ドライバーでのテキスト検索の状況は?

mongo には SQL バリアントに似た「LIKE」演算子が追加されました。コレクションまたはデータベース全体で特定のテキスト文字列を検索する最良の方法は何ですか?

外部ツールを参照している人を読んだことがありますが、コマンド インターフェイスを介して実行される 2.4 mongo バージョンでテキスト検索が実装されていることもわかります。

コンソールから実行しても問題はないはずですが、haskell ドライバーから実行するにはどうすればよいですか? ドライバー API で「runCommand」関数を見つけました。「テキスト」コマンドをサーバーに送信できるように見えますが、署名は、ドキュメントのリストではなく、1 つのドキュメントのみを返すことを示しています。では、それはどのように正しく行われるのでしょうか?

コレクションまたはデータベース内の単語または文を効率的に検索して、その単語を含むドキュメントのリストを返すにはどうすればよいですか? mongoの「テキスト検索」機能を使用して、外部ツールなしで行うことは可能ですか? アプリケーション レベルで実行する必要がありますか?

ありがとう。

4

1 に答える 1

5

結果タイプには、(検索されたテキストを含む) ドキュメントのリストが既に含まれています。残念ながら、実行中のデータベースでクエリをテストすることはできませんでしたが、runCommand(haskell ドライバー用に実装される前に) 集計を実行していました。このようなクエリの結果ドキュメントは次のようになります。

{ results: [ 
            { score : ...,
              obj   : { ... }
            }, 
            ... 
           ],
  ... ,
  ok : 1
}

結果ドキュメントにはフィールドがresultsあり、その値はフィールド と を持つドキュメントscoreですobjobjしたがって、最終的には、結果リストの -field の後ろに一致する各ドキュメントを見つけることができます。詳細については、こちらをご覧ください。

于 2013-07-11T07:35:28.757 に答える