2014-01-21 4 views
0

У меня есть домен:Grails Searchable плагин добавить в индекс состояния

class Listing { 
    String name 
    Address address 
    static searchable = { 
    address component: true 
    only: ['name'] 
    } 
    static constraints = { 
    address nullable: true 
    } 
} 

Я хочу иметь в поисковом индексе только объект с адресом! = NULL. Насколько это возможно?

+0

Можете ли вы подробно остановиться на вопросе? - Если адрес имеет значение null, то какое это имеет значение, если он проиндексирован или нет? – MeIr

+0

в БД только 10% списков с адресами. Также мне не нравится результат фильтрации по запросу во время поиска – demon101

ответ

0

Lucene не работает таким образом. Вы можете искать только по полям и значениям, которые существуют, и вы не можете напрямую проверить, присутствует ли это поле, проверка SQL «null» не может быть выполнена здесь. Чтобы реализовать то, что вам нужно, вам нужно будет добавить что-то вроде boolean addressPresent и установить его на true, если адрес заполнен. Затем в вашем запросе вы должны добавить дополнительное предложение, чтобы проверить поле addressPresent

Смежные вопросы