全文検索のフレームワークヘイスタック、およびヒューという音検索エンジンのミックスと設定


1.ジャンゴジャンゴ - 干し草のパッケージアイテムのインストール、および検索エンジンのパッケージヒューという音

ピップインストール django- 干し草
ピップがインストールヒューという音を


2. Djangoのプロジェクトファイルは、設定は干し草の設定を追加します

(干し草の山の)構成全文検索フレーム 
HAYSTACK_CONNECTIONS = {
     デフォルト{:
        選択エンジン(ヒューという音のプロファイルに関連するパケットhaystockエンジン機能で選択後、バックエンド・ファイル・フォルダ)
        エンジン' haystack.backends.whoosh_backend .WhooshEngine #のインデックスファイル配置パスパス:os.path.join(BASE_DIR、whoosh_index ' 
    } 
} #はフライ(下部haystockパケット信号(ID)インデックスファイル生成時に生成されたインデックスを設定し、インスタントを生成します) 
HAYSTACK_SIGNAL_PROCESSOR = ' haystack.signals.RealtimeSignalProcessor '

        
        


3.アプリケーションでの.pyファイル、名前search_indexes.pyを作成します。

紹介インデックスは、機能モジュールを干し草の山
から干し草の山のインポートインデックス
 モデルクラスは、インデックスを導入する必要がある
から goods.models インポートGoodsSKUの

特定の属性内の特定のクラスに指定されたインデックスクラス名のモデルインデックス+:通常形式のクラスインデックスの名前です。

クラスGoodsSKUIndex(indexes.SearchIndex、indexes.Indexable):
     「」「インデックス型、および継承および索引にSearchIndex刃先交換式のクラス」「」

    テキスト値を定義
    インデックスフィールドは=真use_template、からテンプレートファイル(使用した構成の固定経路をテンプレートファイルを呼び出す) 
    テキスト= indexes.CharField(文書=真、use_template = TRUE) 

    モデルクラスの取得
    DEFのget_model(セルフ):
        モデルクラスを返し
        リターンGoodsSKU 

    #は、必要なインデックスデータ取得
    DEFの index_queryset(セルフ、使用して= :なし)
         リターン。Self.get_model()object.all()  モデルクラスを照会するすべてのデータを

 

4.設定はモデルクラスのインデックスを必要とし、インデックスは、コンテンツ関連の

新しいファイルとディレクトリを、固定のパスは次のとおりです。
プロジェクトのルート/テンプレート/検索/インデックス/アプリケーション名/ Modelクラス名(すべて小文字)_text.txt

実施形態では、プロジェクトファイルプロジェクト、アプリケーション名アプリケーション、という名前のモデルクラスDataInfoを、その後、テンプレートtxtファイルパスの作成
プロジェクト /テンプレート/検索/インデックス/ アプリケーション / DataInfo _text.txtを


し、そのファイル内の式のモデルクラスは、属性のインデックスを作成する必要があります

{{ オブジェクトプロパティ名}} 
、{{ オブジェクト}外部キー属性名} 

例:
{{ オブジェクト.nameの}} 
、{{ オブジェクト.detail}} 
、{{ オブジェクト.foreign.name}} 
、{{ オブジェクト .foreign。詳細}}


5.インデックス生成

の実行Djangoのプロジェクト管理をmanage.py

python manage.py rebuild_index


yが決定され

おすすめ

転載: www.cnblogs.com/jrri/p/11594907.html