1

次のようなドキュメントがあります。全文検索が必要です (valuesのみ) rethinkdb でオブジェクトを文字列に変換することはできますか? r.table('x')('description').contains('commonwealth')多くの子供がいるのか、どんな子供がいるのかわからないようなものが欲しいです。最初に子ノードのすべての値を単一の文字列に変換してから、テキストを検索します(または他の方法も)。ありがとうございました

{
  "description": {
    "parlist": [
      {
        "listitem": {
          "text": {
            "bold": "their",
            "child": "odds hope best purse claim",
            "emph": "commonwealth crows philip duke wench imagination longaville worthiness father grey"
          }
        }
      }
    ]
  }
}
4

2 に答える 2

2

それはうまくいくはずですが、おそらく非常に効率的ではありません

r.table('x').filter(function(doc) {
    return doc('description').coerceTo("STRING").match("commonwealth")
})
于 2014-04-22T00:11:00.853 に答える
1

map/reduce でこれをやってのけることができるかもしれません。私は過去に似たようなことをしました。この回答を後でその例で更新しようとします。

しかし、仕事に適したツールを使用することを強くお勧めします.elasticsearchが必要なようです. データベースと並行して実行され、より優れた検索ツールを提供します。map/reduce でできることをはるかに上回り、より高速になります。

于 2014-04-21T22:34:11.257 に答える