Как использовать Elasticsearch на ActiveRecord :: Relation collection? - PullRequest
0 голосов
/ 06 октября 2019

У меня проблема при использовании метода Elasticsearch search в ActiveRecord :: Relation collection. Например: я получил коллекцию

@completed_courses = Course.where(completed: true)

Если я вызову метод эластичного поиска search в ActiveRecord :: Коллекция отношений @completed_courses

@completed_courses.search(params[:query]) 

, он найдет данные среди всех Coures записей моделей Не в коллекции @completed_courses, но мне нужно сделать поиск только среди @completed_courses записей. Как это исправить?

1 Ответ

0 голосов
/ 14 октября 2019

Невозможно использовать Elasticsearch для поиска по определенному подмножеству вашей модели. @completed_courses существует только в памяти во время выполнения вашего контроллера ruby ​​(предположительно), и Elasticsearch не видит этого.

Лучше всего индексировать поле completed в вашей модели, чтобы вы могли включить егокак часть ваших запросов Elasticsearch search(), и это должно дать вам то, что вы ищете!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...