2017-02-14 3 views
0

私は私のdjangoアプリ(1.8)、haystack(2.4.1)で検索します。そして、私は名前の部分だけを置くと、オートコンプリート(EdgeNgramField)と単語を拾うことができるようになりたいです(例えば、「Zo-zo on」など)。干し草の検索インデックスにCharFieldを追加

以下私は疲れています:text_sec = indexes.CharField(use_template=True)しかし、これは私のために働いていません。ここで

は私のコードですが、彼の作品はありません:あなたは、電源オートコンプリートと通常の検索に自分のスキーマ内に別のフィールドに設定する必要があります

class EventIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.EdgeNgramField(document=True, use_template=True) 
    text_sec = indexes.CharField(use_template=True) 
    id = indexes.CharField(model_attr='id') 
    get_absolute_url = indexes.CharField(model_attr='get_absolute_url') 
    description = indexes.CharField(model_attr='description', null=True) 
    is_past = indexes.CharField(model_attr='is_past', default='false') 
    date_start = indexes.DateTimeField(model_attr='date_start') 

答えて

0

。 以下では、1つはtext、もう1つはcontent_autoの2つのフィールドを定義しています。このフィールドには、モデルのタイトルが設定されています。

class EventIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.CharField(document=True, use_template=True) 
    content_auto = indexes.EdgeNgramField(model_attr='title') 
    text_sec = indexes.CharField(use_template=True) 
    id = indexes.CharField(model_attr='id') 
    get_absolute_url = indexes.CharField(model_attr='get_absolute_url') 
    description = indexes.CharField(model_attr='description', null=True) 
    is_past = indexes.CharField(model_attr='is_past', default='false') 
    date_start = indexes.DateTimeField(model_attr='date_start') 

通常の検索を実行するには、content_autoのautosuggestのテキストフィールドを検索する必要があります。

詳細については、http://haystacksearch.org/をご覧ください。

関連する問題