django_sphinx_db.

SphinXQL用のDjangoデータベースバックエンド
今すぐダウンロード

django_sphinx_db. ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • GPL v3
  • 価格:
  • FREE
  • 出版社名:
  • Ben Timby
  • 出版社のWebサイト:
  • http://code.google.com/u/btimby@gmail.com/

django_sphinx_db. タグ


django_sphinx_db. 説明

django_sphinx_dbは、SphinXQLを介したSphinxとの対話を可能にする単純なDjangoデータベースバックエンドです。基本的には、sphinx.sphinxqlのいくつかの変更を備えたデフォルトのDjango MySQLバックエンドは、Sphinx SearchDがサポートするMySQLクローンモードです。通常の古いSQL構文を介してインデックスを照会することができます。 RT(リアルタイム)インデックスを使用している場合は、索引内のドキュメントを追加および更新することもできます。このバックエンドは、Django Settings.py内のデータベースとして設定されることを意味します。このパッケージはマネージャクラス、SQLCompilerスイートを提供します。この可能性を確保するためのコードをサポートする。 Sphinxデータベースルーターをインストールする必要があります。 SphinxDatabases = {'default':{#あなたのデフォルトのデータベース接続はここにあります...}、sphinx_database_name:{'engine': 'django_sphinx_db.backend.sphinx'、#データベース名は関係ありません。 'name': ''、#ユーザー名やパスワードはありません。 'user'、 'password': ''、#localhostを使用しません。 '、}、}#...、それに応じてルート... database_routers =(' django_sphinx_db.routers.sphinxrouter '、) `` `` `` `` `はsphinxmodelから派生するモデルを定義します。いつものようにモデル.Django_sphinx_db.backend.modelsのImport SphinxModel、SphinxFieldClass MyIndex(SphinxModel):クラスメタ:#この次のビットは重要です、Djangoは#のテーブルを管理したくないです。このモデル。 managed = false name = sphinxfield()content = sphinxfield()date = models.datetimeField()size = models.integerField()sphinxnowの設定インデックスの設定ファイルを生成する必要があります。モデル定義を適切な構成に変換するための管理コマンドが提供されています。 Python Manage.py syncsphinx >> /etc/sphinx.conf vi vi生成された設定ファイルは良いスタートであるべきですが、に対する設定を確認するように求められます(http:// sphinxsearch .com / docs / 2.0.2 / confgroup-index.html)。Django OrmをSphinxyouと共に使用することで、Django Ormを使用してリアルタイムインデックスを照会および管理できます。次の方法で索引内の文書を挿入して更新できます。以下の例では、(https://github.com/btimby/fullText)を使用しています。 'st = os.stat(path)myIndex.objects.create(name = path、content = fulltext.get(path、' ')、size = st.st_size、date = time.strftime('%y-%m- %d%h:%m:%s '、time.localtime(st.st_mtime))、)#doc = myIndex.objects.get(pk = 1)doc.content = fulltext.get(パス、 '')doc.size = st.st_sizeoc.date = time.strftime( '%y-%m - %d%h:%m:%s'、time.localtime)doc.save(・Django検索演算子を使用して全文クエリを実行できます。詳細についてはDjangoのマニュアルを読んでください.myIndex.objects.filter(content__search = 'foobar')クエリはSphinxに直接渡されます。 。 Sphinxデータベースが設定されていると、これらの呼び出しは失敗し、テストの実行を妨げます。ただし、これは、設定されたSPHINXデータベースがテスト中に使用されることを意味します。あなたがこれを念頭に置いてあなたのテストを書く限り、問題はないはずです。 TEST_NAMEデータベース接続パラメータを使用して、テスト実行中の異なるデータベース接続にクエリをリダイレクトできることを忘れないでください.Productのホームページ


django_sphinx_db. 関連ソフトウェア