我有一个使用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文档,但似乎没有任何可能有用的东西。
答案 0 :(得分:3)
我没有充分阅读文档,结果我搞砸了QuerySet部分。
foo.update_object(some)
以上确实将对象添加到索引中。只是我没有正确地搜索它。 以下列方式删除后,我正在搜索该对象。
SearchQuerySet().filter(foo=some.foo)
这总是给出了一个空查询集。
SearchQuerySet().models(SomFooModel).filter(foo = some.foo)
这给出了正确的结果。