Django Haystack拒绝显示任何结果,即使是荒谬的查询
我的问题可能有点奇怪,但它一直困扰着我,因为这种行为不是我所期望的。我的问题是:Django Haystack拒绝显示任何结果,即使是荒谬的查询,django,django-haystack,Django,Django Haystack,我的问题可能有点奇怪,但它一直困扰着我,因为这种行为不是我所期望的。我的问题是: query = request.GET.get('q','') #in search_indexes: #start_datetime = indexes.DateTimeField(model_attr='start_datetime',null=True) #end_datetime = indexes.DateTimeField(model_attr='end_datetime') search_events
query = request.GET.get('q','')
#in search_indexes:
#start_datetime = indexes.DateTimeField(model_attr='start_datetime',null=True)
#end_datetime = indexes.DateTimeField(model_attr='end_datetime')
search_events = SearchQuerySet().models(Event).filter(content=query).
filter(end_datetime__gte=datetime.now()).
order_by("start_datetime")
现在我输入了一个查询,比如“asdfasdfjasldf lolool hwtf asdlfka”
,我仍然得到3个结果。(注意,我只有5个事件要开始。不确定这是否会影响任何事情。)我打印出分数,它们是[42,42,42]
。filter()
与确切的短语不匹配吗?特别是如果我使用引号
//编辑
我还尝试了使用自动查询
,结果是一样的
我真的很困惑到底发生了什么,所以希望有人能帮我澄清一下。提前谢谢 您可能希望使用
自动查询()执行搜索。
:
它还有一些额外的功能,例如,当短语包含在引号中时,可以进行精确的查询搜索。结果是,我的团队中有人将HAYSTACK\u DEFAULT\u操作符设置为“或”,而不是“和”。解释一切-额外的过滤器标签实际上是在扩大结果的数量 你的问题得到了回答,对吗?请随便把你自己的答案标记为正确答案。是的,该死的两天等待期让我忘记了
search_events = SearchQuerySet().models(Event)
.auto_query(query)
.filter(end_datetime__gte=datetime.now())
.order_by("start_datetime")