标签: django-haystack

通过Haystack构建Solr索引会引发未知的字段错误

我正在尝试将Haystack与Solr整合.当我尝试构建索引时,我从SOLR收到错误"Unknown field django_id".是什么导致这种情况发生?

solr django-haystack

8
推荐指数
2
解决办法
3454
查看次数

什么是django-haystack的好样本solrconfig.xml?

我正在为django构建一个solr实例,但是solr提供的例子非常详细,有许多与haystack无关的东西.一个包含拼写建议,更多关键词和分面的样本,没有干草堆不使用的额外内容,这将有助于我了解需要什么和不需要什么.

django solr spell-checking django-haystack

8
推荐指数
1
解决办法
1749
查看次数

序列化django-haystack查询集

我想导出我在查询集中的结果,该查询集是从haystack搜索视图中获取的.为了做到这一点,我发现最好的方法是异步执行,所以我使用Celery和Rabbitmq来管理任务,然后创建文件并迭代所有结果,然后通过电子邮件通知用户该文件已准备好让他们抓住它.但是,为了传递Celery的QuerySet,我需要序列化它.

有快速的方法吗?或者我应该复制请求参数并重做搜索?

django django-haystack

8
推荐指数
1
解决办法
2012
查看次数

在Django Haystack搜索中没有结果

我已经在网上阅读了入门文档和其他一些示例.这就是我的search_indexes.py看起来像:

from haystack.indexes import *
from haystack import site
from models import Entry

class EntryIndex(SearchIndex):
    text = CharField(document=True)
    headline = CharField(model_attr='headline')
    subheadline = CharField(model_attr='subheadline')
    category = CharField(model_attr='category__name')

    author = CharField(model_attr='get_author')
    email = CharField(model_attr='get_email')

    tags = CharField(model_attr='tags')

    content = CharField(model_attr='content')

    def get_queryset(self):
        return Entry.objects.exclude(dt_published=None).order_by('-is_featured', '-dt_published', '-dt_written', 'headline')

site.register(Entry, EntryIndex)
Run Code Online (Sandbox Code Playgroud)

但是当我搜索时,我没有得到任何结果.奇怪的是,如果我使用搜索短语'a'或任何其他单个字母,我会得到看起来像该死的东西中的每一个条目.

无论如何......在我看来,搜索引擎并没有在任何领域寻找.:/

这条线以下的任何东西都不太相关(它有效,相信我):


我的看法:

from haystack.views import SearchView

class CustomSearchView(SearchView):
    def __name__(self):
        return "CustomSearchView"

    def extra_context(self):
        return common(self.request)

def search(request):
    return CustomSearchView(template='news/search_results.html')(request)
Run Code Online (Sandbox Code Playgroud)

和search_results.html:

{% extends "content.html" %}
{% load tagging_tags %}
{% …
Run Code Online (Sandbox Code Playgroud)

django search-engine whoosh django-haystack

8
推荐指数
1
解决办法
4581
查看次数

solr + haystack + django我在哪里放置schema.xml?

我刚刚安装Solr并正在进行Haystack一个Django项目.在 Haystack教程之后,我创建了一个schema.xml,但我不确定将它放在Solr安装中的哪个位置.

我的Solr安装位于这样的目录中:/solr我正在使用此命令启动Solr服务./solr/examplejava -jar start.jar

有什么想法放置schema.xml以及如何告诉Solr使用它?

django solr django-haystack

8
推荐指数
1
解决办法
3210
查看次数

使用django-haystack计算模板中的总搜索对象数

我使用django haystack和xapian作为后端搜索引擎.我正在使用FacetedSearchViewFacetedSearchForm面对搜索.我已经searchqueryset转到了FacetSearchView我的urls.py文件中.

但问题是我无法searchqueryset在模板中访问它.我想要做的就是计算searchqueryset找到的对象数量.

在shell中我可以用S实现它earchQuerySet().filter(content="foo").count(),我怎样才能在模板中做到这一点?请指导.我想要与搜索匹配的对象总数.

python django xapian django-haystack

8
推荐指数
2
解决办法
6209
查看次数

Haystack查询集包含None元素

我正在使用Haystack进行搜索,返回的结果是SearchQuerySet包含None元素:

>> SearchQuerySet().models(Question, Document, Idea)
>> [<SearchResult: idea.idea (pk=3875)>, None, None, None]
Run Code Online (Sandbox Code Playgroud)

运行rebuild_index没有帮助.如果我从第一行删除.models()调用,问题就会消失.我可以从结果中筛选出无元素,但我想知道这是否是预期的行为?

我正在使用Django 1.4,Whoosh和Haystack 2.0.0-beta

django-haystack

8
推荐指数
1
解决办法
1262
查看次数

何时使用Haystack/ElasticSearch与Django的ORM

所以我在一周前在我们的BETA应用程序中使用ElasticSearch实现了Haystack.我可以注意到的一件事是,通过Haystack和Django的ORM,将一些数据(大量)返回给我们的用户(例如列出应用程序中的所有用户)要快得多.现在,我将发布REST服务(使用TastyPie),以便在接下来的几周内为可能的平板电脑提供服务,因为我希望能够从iPad,Nexus平板电脑等访问这些信息.

我想知道的一件事是,我应该何时查询ORM与Haystack/ElasticSearch?例如,如果平板电脑上的用户请求特定的一组用户,我们是应该让TastyPie查询ORM,还是转到ElasticSearch?

如果我们看看这个答案Django:Haystack或ORM,我们都同意DB可以检索和写入数据.但是,我们可以说,一旦搜索引擎更新,Haystack/ElasticSearch可以更快地检索更快的速度吗?

我有点困惑的是,如果它更快,我们应该查询Haystack吗?!

django django-orm django-haystack elasticsearch

8
推荐指数
1
解决办法
2189
查看次数

如何使用django-haystack和elasticsearch后端进行模糊搜索?

看起来好像有弹性搜索支持模糊查询(http://www.elasticsearch.org/guide/reference/query-dsl/fuzzy-query/)但是我无法找到让django-haystack通过该选项的方法.

我挖到了django-haystack搜索,看起来好像在使用elasticsearch后端时使用'match_all'查询.是否有可能在不必修改django-haystack源代码的情况下获得模糊匹配行为?

Haystack来源:https://github.com/toastdriven/django-haystack/blob/master/haystack/backends/elasticsearch_backend.py(build_search_kwargs方法是我怀疑我需要更改的方法)

django django-haystack elasticsearch

8
推荐指数
1
解决办法
2809
查看次数

Django Haystack结果为Django Rest Framework Serializer

我试图使用Django Haystack进行搜索,然后在检索结果时,我需要将这些结果传递给我的Django Rest Framework序列化程序.

Django Rest Framework serializers.ModelSerializer要求为序列化程序发送一个对象查询集,以便能够将这些对象及其数据库字段序列化.

当我创建我的API视图并使用搜索来获取结果时,haystack返回searchqueryset.

如何在不执行以下操作的情况下将此searchqueryset放入django查询集中:

article_queryset = Article.objects.filter(id__in=[i.object for i in searchqueryset])
Run Code Online (Sandbox Code Playgroud)

可以想象,有时搜索可以返回超过1000个搜索结果,这意味着上述效率非常低.

现在,Django休息框架允许我对返回的对象进行分页.我在每页上分成30个对象.我怎么可能用我的Haystack searchqueryset做同样的事情?

关于如何使用Haystack和Django Rest Framework的任何建议或想法都会很棒.别人如何做类似事情的例子也很酷:)

django django-haystack django-rest-framework

8
推荐指数
1
解决办法
4079
查看次数