[ 
https://issues.apache.org/jira/browse/ISIS-383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14304758#comment-14304758
 ] 

Dan Haywood commented on ISIS-383:
----------------------------------

Hi Chandresh,

Sorry not to have responded on this for almost a month... that's very poor of 
us.

If you are still interested in working on this ticket, I can give you some 
suggestions.

My own design thoughts on this are:
- write a new service that in its @PostConstruct would initialize the 
connection to Lucene
- write a new service that would listen to changes on all objects.  One 
approach, for now, would be to write an implementation of AuditService because 
that gets all the information needed.  Later on we could factor out a proper 
API and call that.  This listening service would update Lucene.  It could use 
the BookmarkService to obtain a simple Bookmark from Isis' internal OID (eg 
"TODO:1", "Customer:2") for each object
- provide a simple user-level service to query Lucene.  For each match, take 
the corresponding Bookmark and use to rehydrate the original entity.
- provide some sort of tool (perhaps an service for use by the administrator) 
to build the initial Lucene catalog from an existing database).

Many of these services would need to interoperate (eg hold the Lucene 
connection), however Isis supports auto-injection of services into other 
services, so I don't see that as an issue.

@mgrigorov - wonder if you have any thoughts on this topic.  Have you done 
anything in this space?


> For GSOC, integrate Apache Lucene with Apache Isis as a generic text search 
> engine
> ----------------------------------------------------------------------------------
>
>                 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
>              Labels: gsoc, gsoc2014
>         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.
> One way to get hold of the text (to be indexed) might be to use the existing 
> capability to convert all objects into JSON (by the 
> isis-restfulobjects-rendering module). 
> It is also pretty easy to hook into Isis' objectstore to know when an object 
> is being updated (to sync with Lucene's indexes).
> ~~~
> But... I don't think this is a full summer's work though



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to