использование пользовательского сопоставления столбцов Id с плагином Searchable - PullRequest
2 голосов
/ 06 июля 2010

У меня есть класс Domain с настраиваемым Id-отображением

...
...
String ensemblGeneId
    String ensemblTranscriptId
    String ensemblProteinId
    String proteinSequence
    String topologySequence
    String topologyRatio
    String description
    String geneName

    ..       
    ..                                     
    ..

    static mapping = {
        proteinSequence type:'text'
        topologySequence type:'text'    
        description type:'text' 
        id name:'ensemblProteinId', generator:'assigned'    
    }

У меня проблема с выполнением этой работы с помощью плагина с возможностью поиска

Я добавляю следующее в класс

    static searchable = {
    id name:'ensemblProteinId'
    except = ['topologySequence','proteinSequence']

}

Я получаю следующую ошибку после завершения вставки данных

2010-07-06 13:35:08,091 [http-8080-1] ERROR errors.GrailsExceptionResolver  - Id with path [$/Protein/id] for alias [Protein] not found
org.compass.core.engine.SearchEngineException: Id with path [$/Protein/id] for alias [Protein] not found

похоже, что он все еще пытается найти столбец с именем id вместо столбца с именем ensemblProteinId.

должен ли плагин для поиска работать со столбцами пользовательских идентификаторов, если да, то что я делаю не так?

1 Ответ

2 голосов
/ 04 августа 2011

По-видимому, существует проблема с пользовательскими идентификаторами доменов и поисковым плагином.В качестве обходного пути вы можете отобразить класс, используя аннотации компаса, задокументированные здесь:

http://grails.org/Searchable+Plugin+-+Mapping+-+Compass+annotations

и здесь:

http://www.compass -project.org/docs/2.1.4/reference/html/core-osem.html

Так что ваш класс выглядит примерно так:

import org.compass.annotations.*
@Searchable(alias='Test')
...
class Test {
    @SearchableId
    String sampleId

    @SearchableProperty
    String sampleValue

    static mapping = {
        id name:'sampleId', generator: 'assigned'
    }
    ...
}

Я бы также включил отладку в вашемconfig.groovy, добавив строки

 debug  'grails.app',
        'org.codehaus.groovy.grails.plugins.searchable'

в ваш блок конфигурации log4j (вам может потребоваться удалить строку 'org.codehaus.groovy.grails.plugins' из блока ошибок!) Это позволит вамПосмотрите на компас, который создает плагин.

Джим.

...