Here are some of the info that you requested:
Spring session factory configuration:
Code:
<bean id="fullTextIndexEventListener" class="org.hibernate.search.event.FullTextIndexEventListener" />
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="annotatedPackages">
<list>
</list>
</property>
<property name="annotatedClasses">
<list>
<value>com.amin.phonebook.domain.Address</value>
<value>com.amin.phonebook.domain.Contact</value>
<value>com.amin.phonebook.domain.Phone</value>
<value>com.amin.phonebook.domain.PersonalContact</value>
<value>com.amin.phonebook.domain.BusinessContact</value>
</list>
</property>
<property name="eventListeners">
<map>
<entry>
<key><value>post-update</value></key>
<ref bean="fullTextIndexEventListener"/>
</entry>
<entry>
<key><value>post-insert</value></key>
<ref bean="fullTextIndexEventListener"/>
</entry>
<entry>
<key><value>post-delete</value></key>
<ref bean="fullTextIndexEventListener"/>
</entry>
</map>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.search.default.directory_provider">org.hibernate.search.store.FSDirectoryProvider</prop>
<prop key="hibernate.search.default.indexBase">/Users/amin/lucene/baseIndex</prop>
</props>
</property>
</bean>
Dao code that creates a contact is :
Code:
public Contact createContact(Contact contact) {
hibernateTemplate.save(contact);
return contact;
}
When inserting i get the following log statement:
Code:
2007-10-04 17:50:31,748 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - add to Lucene index: class com.amin.phonebook.domain.PersonalContact#1: Document<stored/uncompressed,indexed<_hibernate_class:com.amin.phonebook.domain.PersonalContact> stored/uncompressed,indexed<id:1> stored/uncompressed,indexed,tokenized<email:mail@mail.com> stored/uncompressed,indexed,tokenized<firstname:XXX> stored/uncompressed,indexed,tokenized<surname:XXXX>> - 18271
2007-10-04 17:50:31,923 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - remove from Lucene index: class com.amin.phonebook.domain.Address#0 - 18446
2007-10-04 17:50:31,944 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - add to Lucene index: class com.amin.phonebook.domain.Address#0: Document<stored/uncompressed,indexed<_hibernate_class:com.amin.phonebook.domain.Address> stored/uncompressed,indexed<id:0> stored/uncompressed,indexed,tokenized<address1:23423423> stored/uncompressed,indexed,tokenized<address2:N/A> stored/uncompressed,indexed,tokenized<town:Hove> stored/uncompressed,indexed,tokenized<county:East Sussex> stored/uncompressed,indexed,tokenized<country:United Kingdom> stored/uncompressed,indexed,tokenized<postcode:34234234> stored/uncompressed,indexed<contact.id:1> stored/uncompressed,indexed,tokenized<contact.email:mail.com>> - 18467
2007-10-04 17:50:32,339 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - remove from Lucene index: class com.amin.phonebook.domain.Phone#0 - 18862
2007-10-04 17:50:32,344 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - add to Lucene index: class com.amin.phonebook.domain.Phone#0: Document<stored/uncompressed,indexed<_hibernate_class:com.amin.phonebook.domain.Phone> stored/uncompressed,indexed<id:0> stored/uncompressed,indexed,tokenized<number:340239843209> stored/uncompressed,indexed,tokenized<type:HOME> stored/uncompressed,indexed<contact.id:1> stored/uncompressed,indexed,tokenized<contact.email:mail@mail.com>> - 18867
After which it inserts the address and phone and creates an index again for both. for example:
Code:
2007-10-04 17:50:32,775 [org.hibernate.engine.Cascade] DEBUG - cascade ACTION_SAVE_UPDATE for collection: com.amin.phonebook.domain.Contact.addresses - 19298
2007-10-04 17:50:32,775 [org.hibernate.engine.CascadingAction] DEBUG - cascading to saveOrUpdate: com.amin.phonebook.domain.Address - 19298
2007-10-04 17:50:32,779 [org.hibernate.engine.IdentifierValue] DEBUG - id unsaved-value: 0 - 19302
2007-10-04 17:50:32,780 [org.hibernate.event.def.AbstractSaveEventListener] DEBUG - transient instance of: com.amin.phonebook.domain.Address - 19303
2007-10-04 17:50:32,781 [org.hibernate.event.def.DefaultSaveOrUpdateEventListener] DEBUG - saving transient instance - 19304
2007-10-04 17:50:32,782 [org.hibernate.event.def.AbstractSaveEventListener] DEBUG - saving [com.amin.phonebook.domain.Address#<null>] - 19305
2007-10-04 17:50:32,782 [org.hibernate.event.def.AbstractSaveEventListener] DEBUG - executing insertions - 19305
2007-10-04 17:50:32,784 [org.hibernate.event.def.AbstractSaveEventListener] DEBUG - executing identity-insert immediately - 19307
2007-10-04 17:50:32,784 [org.hibernate.persister.entity.AbstractEntityPersister] DEBUG - Inserting entity: com.amin.phonebook.domain.Address (native id) - 19307
2007-10-04 17:50:32,785 [org.hibernate.jdbc.AbstractBatcher] DEBUG - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) - 19308
2007-10-04
2007-10-04 17:50:32,806 [org.hibernate.search.backend.impl.lucene.LuceneWorker] DEBUG - add to Lucene index: class com.amin.phonebook.domain.Address#1: Document<stored/uncompressed,indexed<_hibernate_class:com.amin.phonebook.domain.Address> stored/uncompressed,indexed<id:1> stored/uncompressed,indexed,tokenized<address1:XXXX> stored/uncompressed,indexed,tokenized<address2:N/A> stored/uncompressed,indexed,tokenized<town:Hove> stored/uncompressed,indexed,tokenized<county:East Sussex> stored/uncompressed,indexed,tokenized<country:United Kingdom> stored/uncompressed,indexed,tokenized<postcode:BN3444> stored/uncompressed,indexed<contact.id:1> stored/uncompressed,indexed,tokenized<contact.email:XXXX>> - 19329
Hope this is enough info.