[ https://issues.apache.org/jira/browse/ISIS-383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood closed ISIS-383. ---------------------------- > Integrate Apache Lucene or ElasticSearch (nb: recommend this is an isisaddon > rather than built-in) > -------------------------------------------------------------------------------------------------- > > Key: ISIS-383 > URL: https://issues.apache.org/jira/browse/ISIS-383 > Project: Isis > Issue Type: New Feature > Components: Core > Affects Versions: core-1.1.0 > Reporter: Dan Haywood > Attachments: isis-lucene.zip > > > Isis is most often used with its JDO integration, a fairly conventional ORM. > Searching for existing domain objects therefore requires a query to be > defined. But sometimes users want to just search for any object (like > searching the web). This ticket is to integrate Isis so that its domain > objects can be indexed by Lucene and thus provide a generic search capability. > As of 1.10.0 this could be implemented using a subscriber: > {code} > @DomainService(nature=DOMAIN) > public class LuceneSubscriber extends AbstractSubscriber { > @Subscribe public void on(ObjectPersistingEvent ev) { ... } > @Subscribe public void on(ObjectUpdatingEvent ev) { ... } > @Subscribe public void on(ObjectRemovingEvent ev) { ... } > } > {code} > Then one would also provide some sort of repository to query the Lucene > datastore: > {code} > @DomainService(nature=DOMAIN) > public class LuceneRepository { > @Action(semantics=SAFE) > List<Object> find(String text) { ... } > } > {code} > There is also an attachment to this ticket, based on an earlier spike by > Maurizio. Note that that was done before the subscribers were available. -- This message was sent by Atlassian JIRA (v6.3.4#6332)