Применение ограничений к результатам поиска Grails

Я разрабатываю приложение с Grails 2.2.2 / MySQL.

Я хотел бы интегрировать плагин Searchable, однако мое приложение является мультитенантным saas-приложением, и мне нужно как-то ограничить результаты, которые возвращаются. Так, например, если я являюсь пользователем своего приложения, принадлежащего организации A, и я ищу продукты, я не должен видеть никаких продуктов, принадлежащих организации B.

В настоящее время у меня есть служба, которая выполняет такое разделение данных при использовании обычных CRUD-страниц Grails, которая работает, применяя ограничения к каждому выполненному запросу критерия. Я также интегрировал этот сервис с плагином Filterpane для запросов в стиле "расширенный поиск".

Можно ли фильтровать результаты поиска аналогичным образом?

1 ответ

Прошло много времени с тех пор, как я изучил это, но я наткнулся на интересную статью о разделении индекса lucene, так что 1) есть один индекс для приложения и 2) результаты поиска для организации A никоим образом не предвзяты материал, который был проиндексирован для организации B (я даже не учел этот второй момент).

https://community.jivesoftware.com/community/developer/blog/2013/06/24/a-new-experimental-approach-to-implement-multi-tenancy-with-lucene-4

Кроме того, для моего приложения я как бы выполнил требование "полнотекстового поиска" (по крайней мере, на короткий срок), используя отличный плагин быстрого поиска для Grails.

Надеюсь, кто-то найдет эти ресурсы полезными.

Другие вопросы по тегам