Как запросить Haystack, чтобы получить похожие предметы [Python, Haystack, ElasticSearch] - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь получить похожие сообщения, когда идентификатор сообщения отправляется в качестве полезной нагрузки на конечную точку (RESTful API) с использованием Haystack и ElasticSearch:

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 голосов
/ 07 декабря 2018
related_items = SearchQuerySet().more_like_this(original_post)

См. Определение функции в документах по стогу сена :

SearchQuerySet.more_like_this (self, model_instance)

Так что ожидается, что выпередам model_instance в more_like_this, а не в строку.

...