2011-04-04 33 views
4


我正在使用Haystack v1.0和Whoosh v1.8.1爲我的網站構建一個自定義搜索引擎。一切都很好,但問題是,我的索引模型中沒有很多條目的結果。Haystack飛快移動並沒有編制索引

例如, - 我有四種註冊模特 - 會員,嘉賓,活動,贊助商。從Django的殼重建索引,以下情況發生:

./manage.py rebuild_index

Indexing 26 members. 
Indexing 3 events. 
Indexing <x> guests. 
Indexing <y> sponsors. 

但在運行SEARCHQUERY API命令,並通過搜索頁面搜索,我不能搜索一半的成員名稱。沒有我的是,當我可以搜索14-15名會員時,爲什麼不休息。我的模板* _text.txt *文件應該是正確的,因爲一半的成員正確索引。

你可以試試這個
http://www.edciitr.com/search/?q=x
X = Vikesh返回1次的結果(如預期)
X = Akshit返回任何結果(這個問題!)

兩個值 'Akshit' 和'Vikesh'出現在rebuild_index之前。以下是我正在嘗試搜索的所有26個成員的列表 - http://www.edciitr.com/contact/

回答

3

好的,這是我所做的以確定問題是在Whoosh還是Haystack中。我打開Django的外殼併爲不顯示在草堆SEARCHQUERY API搜索了術語進行搜索:

./manage.py shell 
$>> import whoosh 
$>> from whoosh.query import * 
$>> from whoosh.index import open_dir 
$>> ix = open_dir('/home/somedir/my_project/haystack/whoosh/') 
$>> ix.schema 
<Schema: ['branch', 'category', 'coordinator', 'date_event', 'designation','details', 'django_ct', 'django_id'> 'name', 'organisation', 'overview','text', 'title']> 
$>> searcher = ix.searcher() 
$>> res = searcher.search(Term('text',u'akshit')) 
$>> print res 
<Top 1 Results for Term('text', 'akshit') runtime=0.000741004943848> 
$>> print res['0']['name'] 
u'Akshit Khurana' 

所以你看,嗖正確索引的所有數據。所以,現在我嘗試SEARCHQUERY API

./manage.py shell 
$>> from haystack.query import SearchQuerySet 
$>> sqs = SearchQuerySet().filter(content='akshit') 
$>> sqs 
$>> [] 

所以,我意識到,我必須看看乾草堆庫的whoosh_backend.py文件,看看發生了什麼。打開 - haystack.backends.whoosh_backend around line number 345

'''Uncomment these two lines because the raw_results set becomes empty after the filter  call for some queries'' 
if narrowed_results: 
     raw_results.filter(narrowed_results) 

#if narrowed_results: 
     #raw_results.filter(narrowed_results) 

然後它的作品。 SearchQueryAPI按預期返回測試查詢的一個結果。網絡搜索工作,但我想知道這裏乾草堆的問題是什麼。

+0

嘿Vikesh,你有沒有想過出了什麼問題?我有同樣的問題。 – hekevintran 2012-07-20 19:36:02

+0

不是真的,我很抱歉。找不到進一步調查的時間,但如果您只想解決問題,可以查看上面的答案。 – Vikesh 2012-07-23 13:24:51

+0

我有同樣的問題,除了它在早上工作,而不是在下午工作,嘗試切換到XAPIAN並返回記錄罰款。與whoosh有關。 – 2013-08-12 03:05:56