3

新しいバージョンの MongoDB では、全文検索が可能です。その部分は私にとってはうまくいっています:

db.collection.runCommand('text',{search:<keyword>})

ただし、python の mongoengine で実行できるかどうかはわかりません。mongoengineまたは回避策で「runCommand」を実行する方法があるかどうかは誰にも分かりますか?

(私は自分のプロジェクトにmongoengineを使用しています。おそらく多くのことを再コーディングすることを意味するため、pymongo用にドロップする必要はありません。)

ありがとう!

4

3 に答える 3

1

質問は古いですが、同じ質問に出くわしました。MongoEngine は、テキスト検索を直接有効にするようになりました。

まず、必須フィールドにテキスト インデックスを作成します。

class MyDoc(Document):
   document_name = StringField()
   document_content = StringField()

   meta = {
      'indexes': [
         {
            'fields': [
               '$document_name',
               '$document_content'
            ]
         }
      ]
   }

次に、search_text関数を使用してドキュメントを検索できます。

document = News.objects.search_text('testing')

詳細については、 MongoEngine テキスト検索のドキュメントを参照してください。

于 2021-12-10T14:32:40.810 に答える
0

Pymongo はこれに keyor 引数を使用します。ドキュメントを参照してください。
あなたの場合db.command('text', 'colection_name', seach='keyword')

于 2013-10-18T12:21:10.657 に答える