如何查询干草堆以获得相似的商品[Python,干草堆,ElasticSearch]

时间:2018-12-07 12:29:19

标签: python django django-haystack

当我使用Haystack和ElasticSearch将帖子ID作为有效内容发送到端点(RESTful API)时,我正在尝试撰写类似的帖子:

original_post = Article.objects.get(id=pk) #pk is 2 for example
related_items = SearchQuerySet().more_like_this(original_post.title)
result = related_items[0].object.title

print(result)

这会引发错误:

AttributeError: 'str' object has no attribute '_meta'

我是Elastic Search的新手。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

related_items = SearchQuerySet().more_like_this(original_post)

请参见haystack docs中的函数定义:

  

SearchQuerySet.more_like_this(自己,model_instance)

因此,您应该将model_instance传递给more_like_this而不是字符串。