2011-04-04 35 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