1

データベース内のオブジェクトには名前が付けられnewsnews test

class ItemIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True)
    name = indexes.CharField(model_attr='name')
    name_alt = indexes.CharField(model_attr='name_alt')

    def get_model(self):
        return Serial

>>> from haystack.query import SearchQuerySet
>>> sqs = SearchQuerySet().all()
>>> sqs.count()
4
>>> SearchQuerySet().auto_query('new') # not working all query!
[]

haystack.backends.simple_backend.SimpleEngineその作業を使用する場合。

ジャンゴ==1.5.1

エラスティックサーチ==0.90

ジャンゴ-ヘイスタック==マスター (2.0)

どうして????

4

1 に答える 1

1

すべてのインポート ドキュメント フィールドにデータを入力しているようには見えません。

クラスSearchIndexには次のフィールドがあります。

text = indexes.CharField(document=True)
name = indexes.CharField(model_attr='name')
name_alt = indexes.CharField(model_attr='name_alt')

と のデータ ソースを定義しましたが、 は定義してnamename_altませんtext。コマンドライン検索の出力は、検索インデックスでそのフィールドが空であることを示しています。いくつかのオプションがあります:

  • モデル属性からそのフィールドに入力します
  • メソッドを使用しprepare_FOOてそのフィールドのコンテンツを準備する
  • use_templateフィールドの引数を使用してテンプレートを使用し、textそのテンプレートにすべてのコンテンツを含めます

フォローアップの質問は、なぜauto_query失敗したが、基本的な curl クエリが機能したのかということです。auto_queryコンテンツ (ドキュメント) を検索しているのに、それが欠けているからです。

于 2013-05-12T17:08:38.510 に答える