Grails для поиска плагин - PullRequest
       30

Grails для поиска плагин

0 голосов
/ 30 ноября 2009

В моем приложении Grails я использую плагин Searchable для поиска / индексации. Я хочу написать запрос Compass / Lucene, который включает несколько классов домена. В этом запросе, когда я хочу сослаться на идентификатор класса, я не могу просто использовать «id», потому что все классы имеют свойство «id». В настоящее время я обхожу эту проблему, добавив следующее свойство в класс Foo

public Long getFooId() {
    return id
}
static transients = ['fooId']

Затем, когда я хочу сослаться на идентификатор Foo в запросе, я использую 'fooId'. Есть ли способ предоставить псевдоним для свойства в сопоставлении с возможностью поиска вместо добавления свойства в класс?

Ответы [ 3 ]

2 голосов
/ 01 декабря 2009

Вы можете дать более конкретное имя свойству идентификатора. См. эту страницу , чтобы узнать, как это сделать.

1 голос
/ 01 декабря 2009

Я наконец обнаружил, что это способ сделать это:

static searchable = {
    id: name 'fooId'
}
0 голосов
/ 10 июня 2010

Спасибо! Это сработало бы очень хорошо, то есть, если бы я мог обойти ошибки OOM, сервер приложений, кажется, выбрасывает каждый раз, когда устанавливается плагин Searchable. Это пузырится через:

org.compass.gps.CompassGpsException: не удалось проиндексировать, исключение при выполнении; Вложенное исключение: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: пространство кучи Java

Кто-нибудь настраивал свои Searchable.groovy в grails-app / conf для выполнения строгой конфигурации file: /// или mmap: // только без кучи и индексации, скажем, один или два раза в день? Поиск за гранью приятного - но стоимость использования зеркального отображения базы данных в Grails (с Oracle 10g) кажется слишком большой.

Действительно небольшое количество доменов для поиска (4) небольшой базы данных, возможно, 1-2 ГБ для этого приложения.

...