Emmanuel,

You didn't misunderstand. Forget about the annotation I don't know what I
was thinking about. I was going to reply earlier to tell you that but
couldn't get to my email. 

I do have an MSN IM account [EMAIL PROTECTED]

Anyway, I'm looking at the FullTextQueryImpl class to implement this. The
list, scroll and iterate methods all getHits() so I could wedge in my
LegacyDocuments class to hold the top 20 hits and hits size and expose it
via a getter. It's immutable and has methods to return a List of the hits,
an Iterator over them and I'm working on a scroll. Of course these methods
could become part of FullTextQueryImpl and be defined in the FullTextQuery
Interface under names related to their other corresponding methods but I
thought it would better to keep them separate.

There are a lot of ways to go about this just IM me. I'm on mountain time so
I'm in the office from 8:30 to about 5:30 YOUR time. I'm on at home after
that LATE.

By the way could you please explain your 'projection' to me. I don't
understand the concept. 

John Griffin


-----Original Message-----
From: Emmanuel Bernard [mailto:[EMAIL PROTECTED] 
Sent: Sunday, June 17, 2007 6:56 PM
To: John Griffin
Cc: hibernate-dev@lists.jboss.org
Subject: Re: [hibernate-dev] RE: Exposing legacy Lucene documents on
searches.

hi John,
You mean having an @LegacyDocuments annotation on the application  
method?

@LegacyDocuments
public void MyMethod() {
   fullTextSession.scroll();
)

reading such an annotation is really expensive, the VM has to build  
the stack trace. and access the caller method.
Besides, I'm more confirtable with an API for such a thing,  
fullTextSession.setProjection(OBJECT, DOCUMENT).scroll() should do  
the trick, no? Maybe I misunderstood you. What is your use case?

Emmanuel

On Jun 17, 2007, at 4:33 PM, John Griffin wrote:

> Emanuel,
>
> I finally have time to get this going. In agreement with you this  
> is what I
> plan on doing. I would like to add a method level annotation on the  
> iterate,
> list and scroll methods that indicates whether or not the user  
> wants the
> legacy Lucene objects retained (probably @LegacyDocuments the  
> absence of
> which means NO). That way no processing will be done if not  
> necessary. I
> already have the immutable object LegacyDocuments written that  
> contains a
> List of the top 20 Hit objects and a count of total hits returned.  
> I just
> need to add the Annotation and LegacyDocuments processing  
> statements to
> these methods in FullTextQueryImpl.
>
> John Griffin
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> [EMAIL PROTECTED]
> Sent: Wednesday, June 13, 2007 7:46 AM
> To: hibernate-dev@lists.jboss.org
> Subject: hibernate-dev Digest, Vol 12, Issue 55
>
> Send hibernate-dev mailing list submissions to
>       hibernate-dev@lists.jboss.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>       https://lists.jboss.org/mailman/listinfo/hibernate-dev
> or, via email, send a message with subject or body 'help' to
>       [EMAIL PROTECTED]
>
> You can reach the person managing the list at
>       [EMAIL PROTECTED]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of hibernate-dev digest..."
>
>
> Today's Topics:
>
>    1. Re: hsearch-6 serializable Hits object (Emmanuel Bernard)
>    2. Hibernate + Oracle RDB 7.1 (Rehnman Martin)
>    3. hibernate-hsqldb-testsuite build.57 Build Fixed
>       ([EMAIL PROTECTED])
>    4. hibernate-sqlserver-jtds-testsuite build.60 Build       Fixed
>       ([EMAIL PROTECTED])
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 12 Jun 2007 16:13:20 -0400
> From: Emmanuel Bernard <[EMAIL PROTECTED]>
> Subject: Re: [hibernate-dev] hsearch-6 serializable Hits object
> To: John Griffin <[EMAIL PROTECTED]>,
>       hibernate-dev@lists.jboss.org
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
>
> I see,
> Do you keep your IndexReader opened while the data is moved to your
> client?
> Because the document id is not guaranteed to stay constant.
>
> It seems to me that we can avoid such a feature for now, you can
> return getResultSize() + a list of the 20 top objects + score for
> example. Such a structure would be serializable.
> Let's see how it goes.
>
> On 11 juin 07, at 23:46, John Griffin wrote:
>
>>
>>
>> -----Original Message-----
>> From: Emmanuel Bernard [mailto:[EMAIL PROTECTED]
>> Sent: Monday, June 11, 2007 10:06 AM
>> To: John Griffin
>> Cc: hibernate-dev@lists.jboss.org
>> Subject: Re: [hibernate-dev] hsearch-6 serializable Hits object
>>
>> How do you deal with serialized Hits?
>> You raise a "LazyInitializationException" like when a user access an
>> unavailable document?
>> Same for the serializable HitIterator?
>>
>> --------------
>> I don't deal with lazy initialization. I use the low-level TopDocs
>> object.
>> This gives me a document number and score only. Hence it gives me  
>> good
>> response times even across a 1-million document index. This way the
>> size of the document is not a consideration for memory constraints.
>> Once I have the TopDocs object I just retrieve the paged amount of
>> documents as the User asks for them. 10, 20 30, etc. at a time. I  
>> also
>> maintain state with this TopDocs object by passing it back and forth
>> between client/server with pointers to current locations. We do limit
>> the size of the TopDocs object to 200. (somewhat arbitrary)
>>
>> TopDocs also contains a count of the number of actual hits that
>> resulted
>> from the search. I use this to warn the user that his search  
>> should be
>> narrowed if necessary. Here's an ex. Our employeecomments table has 1
>> million records. A search for the word 'labor' returns a count of
>> 157,000+
>> hits but we only return the top 20 along with the TopDocs object
>> (hidden
>> for state) and a statement that 'maybe you should refine your  
>> search a
>> little';>) (we do tell them the amount of hits though). Also we
>> limit the
>> actual size of the TopDocs Object to the top 200 records.
>> --------------
>>
>> Which approach are you following to expose the data? christian's
>> proposal?
>> In christian's proposal, what is really needed for serialization is
>> Hit, but then Hit is not thing but a Document and a score wich can be
>> projected as well.
>>
>> --------------
>> My SerializableHits object is really nothing more than a rebuild of
>> a Hit
>> and score into serializable components. I use the doc number from the
>> TopDocs to obtain the document and use the TopDocs score. The entire
>> reason behind this is to allow Lucene classes we had originally
>> located
>> locally to our application to be moved to a remote server that
>> deals solely
>> with Lucene. Now we have our application on clustered JBoss which
>> accesses
>> remote servers that solely deal with Lucene (add, update, delete,
>> search).
>> --------------
>>
>> I don't see the need for a lazy Hit in this scheme, hence no need for
>> a serializable version.
>>
>> BTW who is consuming Hit(s) aside for the user's application? does
>> Lucene has (public) APIs consuming Hits?
>>
>> --------------
>> In my case the application is the only consumer. I've never looked at
>> Lucene in that way i.e. if it were the consumer. I hope this helps.
>>
>> Let me know what you think.
>> --------------
>>
>> Emmanuel
>>
>> On 7 juin 07, at 22:47, John Griffin wrote:
>>
>>> Do we want to convert the Lucene Hits object to a serializable
>>> format so it could be accessed remotely? I'm have developed this at
>>> work and have a 'SerializablelHits' object for this purpose. Is
>>> this overkill right now? Change later? Thoughts?
>>>
>>>
>>>
>>> John G.
>>>
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 13 Jun 2007 15:12:32 +0200
> From: "Rehnman Martin" <[EMAIL PROTECTED]>
> Subject: [hibernate-dev] Hibernate + Oracle RDB 7.1
> To: <hibernate-dev@lists.jboss.org>
> Cc: Boisits Franz <[EMAIL PROTECTED]>
> Message-ID:
>       
> <[EMAIL PROTECTED] 
> at>
>       
> Content-Type: text/plain; charset="us-ascii"
>
> Hi,
>
> We have discovered a minor problem within JDBCtransaction.java when
> using Oracle RDB 7.1,
> the database transaction is not automatically rollbacked by the  
> database
> on commit failures,
> the client has to send a rollback over the JDBC-connection in that  
> case.
> When no rollback is sent,
> the database transaction will still be open and associated with a
> JDBC-connection when the connection is returned
> to the connection pool. At another time some other client transaction
> will get this connection from the pool with
> an open database transaction which then will fail. We have solved this
> problem by changing JDBCTransaction in this way:
>
>       private boolean rollbackAfterCommitFailed = false;
>
>       public void setRollbackAfterCommitFailed(boolean
> rollbackAfterCommitFailed) {
>               this.rollbackAfterCommitFailed =
> rollbackAfterCommitFailed;
>       }
>
>       private void commitAndResetAutoCommit() throws SQLException {
>               try {
>                       jdbcContext.connection().commit();
>
>               } catch (SQLException e) {
>                       // Extension for Oracle-RDB: Rollback after
> failed Commit
>                       if (rollbackAfterCommitFailed) {
>                               try {
>                                       log.error("Rollback after
> Commit-Failure");
>       
> jdbcContext.connection().rollback();
>                               } catch (SQLException s) {
>                                       log.error("Exception during
> Rollback", s);
>                               }
>                               throw e;
>               }
>               finally {
>                       toggleAutoCommit();
>               }
>       }
>
> In the JDBCTransactionFactory we added following:
>
>     private boolean rollbackCommitFailures; // Property
> hibernate.transaction.rollback_after_commit_failure
>
>     public Transaction createTransaction(JDBCContext jdbcContext,
>             Context transactionContext) throws HibernateException {
>         JDBCTransaction trans =  new JDBCTransaction(jdbcContext,
> transactionContext);
>         trans.setRollbackAfterCommitFailed(rollbackCommitFailures);
>         return trans;
>     }
>
>     /** [EMAIL PROTECTED] */
>     public void configure(Properties props) throws  
> HibernateException {
>
>         rollbackCommitFailures = PropertiesHelper.getBoolean(
>                 Environment.TRANSACTION_ROLLBACK_COMMIT_FAILURES,
> props,false);
>
>     }
>
> It would be nice to have this little problem solved in future  
> Hibernate
> releases.
> I also really would like to see Oracle RDB in the list of supported
> databases, for every new
> Hibernate Release I have to compile/add RdbDialect.java (got it from
> HP/Oracle) to the jar.
>
>
> Regards
>
> Martin
>
>
> Oesterreichische Lotterien Gesellschaft m.b.H., Rennweg 44, A-1038  
> Wien,
> FN 54472 g, Handelsgericht Wien, DVR-Nr: 0476706
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/hibernate-dev/attachments/ 
> 20070613/971f488c
> /attachment-0001.html
>
> ------------------------------
>
> Message: 3
> Date: Wed, 13 Jun 2007 09:35:36 -0400 (EDT)
> From: [EMAIL PROTECTED]
> Subject: [hibernate-dev] hibernate-hsqldb-testsuite build.57 Build
>       Fixed
> To: hibernate-dev@lists.jboss.org, [EMAIL PROTECTED]
> Message-ID:
>       
> <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="us-ascii"
>
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/hibernate-dev/attachments/ 
> 20070613/6ca6921b
> /attachment-0001.html
>
> ------------------------------
>
> Message: 4
> Date: Wed, 13 Jun 2007 09:48:26 -0400 (EDT)
> From: [EMAIL PROTECTED]
> Subject: [hibernate-dev] hibernate-sqlserver-jtds-testsuite build.60
>       Build   Fixed
> To: hibernate-dev@lists.jboss.org, [EMAIL PROTECTED]
> Message-ID:
>       
> <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="us-ascii"
>
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/hibernate-dev/attachments/20070613/ 
> f6fb43f2
> /attachment.html
>
> ------------------------------
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
>
> End of hibernate-dev Digest, Vol 12, Issue 55
> *********************************************
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev

_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to