You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2015/02/04 08:57:34 UTC

[jira] [Commented] (ISIS-383) For GSOC, integrate Apache Lucene with Apache Isis as a generic text search engine

    [ 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)