如何将单个对象添加到 django haystack?
How to add individual objects to 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 文档,但似乎没有任何帮助。
我没有充分阅读文档,结果我搞砸了 QuerySet 部分。
foo.update_object(some)
上面确实将对象添加到索引中。只是我没有正确搜索它。
我正在通过以下方式删除对象后搜索该对象。
SearchQuerySet().filter(foo=some.foo)
这总是给出一个空查询集。
SearchQuerySet().models(SomFooModel).filter(foo = some.foo)
这给出了正确的结果。
Reference
我有一个使用 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 文档,但似乎没有任何帮助。
我没有充分阅读文档,结果我搞砸了 QuerySet 部分。
foo.update_object(some)
上面确实将对象添加到索引中。只是我没有正确搜索它。 我正在通过以下方式删除对象后搜索该对象。
SearchQuerySet().filter(foo=some.foo)
这总是给出一个空查询集。
SearchQuerySet().models(SomFooModel).filter(foo = some.foo)
这给出了正确的结果。
Reference