如何将单个对象添加到django haystack?

时间:2015-06-05 20:46:09

标签: django solr django-haystack

我有一个使用Solr创建的搜索索引。我想将单独的django对象添加到搜索索引中。

要从solr数据库中删除对象,我们使用 remove_object

some = SomFooModel.objects.get(pk=1)
foo = FooIndex()
foo.remove_object(some) #This works

要添加它,是否有类似 add_object 或此处的解决方法?

我想要的是。

foo.add_object(some). # there is no such thing 

这也行不通。它不会将对象添加到索引。

foo.update_object(some)

我试过阅读django-haystack文档,但似乎没有任何可能有用的东西。

1 个答案:

答案 0 :(得分:3)

我没有充分阅读文档,结果我搞砸了QuerySet部分。

foo.update_object(some)

以上确实将对象添加到索引中。只是我没有正确地搜索它。 以下列方式删除后,我正在搜索该对象。

SearchQuerySet().filter(foo=some.foo)

这总是给出了一个空查询集。

SearchQuerySet().models(SomFooModel).filter(foo = some.foo)

这给出了正确的结果。

Reference