2013-06-25 105 views
3

我想增加到我的乾草堆搜索,但可悲的是無法。這是我的search_indexes.py。提升不工作在Django乾草堆

class feedIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.EdgeNgramField(document=True, use_template=True) 
    feed_text = indexes.EdgeNgramField(model_attr='feed_text',null=True) 
    tags = indexes.CharField(model_attr='tags') 

    def get_model(self): 
     return Feed 

    def prepare_feed_text(self, obj): 
     return "Feed" 

    def prepare(self, obj): 
     data = super(feedIndex, self).prepare(obj) 
     data['boost'] = 1.5 
     return data 

我還需要補充什麼。因爲這個我只在教程中找到了。當我運行rebult_index時,我能夠看到與http://localhost:9200/_search中的字段相關的提升。 我的搜索後端是elasticsearch。我已經經歷了所有與此有關的問題,但沒有發現對我有用。

回答

2

嘗試使用data["_boost"]。我忘記了爲什麼這對我們很不幸。

+0

它不適合我。除了添加數據[「_ boost」]之外,我還必須做其他更改 –

+0

https://github.com/elastic/elasticsearch/issues/4664 因爲索引時間提升已被棄用,所以您需要使用舊版本或寫入一個插件自己 – Forethinker