Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Haystack拒绝显示任何结果,即使是荒谬的查询_Django_Django Haystack - Fatal编程技术网

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")