[jboss-user] [JBoss Seam] - Seam 2.0.0 and hibernate search

slavosk do-not-reply at jboss.com
Fri Oct 26 14:42:49 EDT 2007


Hello,

Did someone tried succesfully to configure hibernate search with seam2 ?

I'm evaluating the seam & hsearch solution and need a little help.

I have a problem to create an index. I have a seam-gen generated project and configured hibernate search following way:

persistence.xml


  | <?xml version="1.0" encoding="UTF-8"?>
  | <!-- Persistence deployment descriptor for prod profile -->
  | <persistence xmlns="http://java.sun.com/xml/ns/persistence" 
  |              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |              xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
  |              version="1.0">
  |              
  |    <persistence-unit name="crud9">
  |       <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |       <jta-data-source>java:/crud9Datasource</jta-data-source>
  |       <properties>
  | <!--         <property name="hibernate.hbm2ddl.auto" value="validate"/> --> 
  |          <property name="hibernate.cache.use_query_cache" value="true"/>
  |          <property name="hibernate.jdbc.batch_size" value="20"/>
  |          <property name="jboss.entity.manager.factory.jndi.name" value="java:/crud9EntityManagerFactory"/>
  |          <property name="hibernate.default_schema" value="core"/>
  |          
  |         <!-- use a file system based index -->
  | 		 <property name="hibernate.search.default.directory_provider"
  | 				value="org.hibernate.search.store.FSDirectoryProvider"/>
  | 		 <!-- directory where the indexes will be stored -->
  | 		 <property name="hibernate.search.default.indexBase"
  | 				value="/data/hs_index"/>
  | 			         
  |       </properties>
  |    </persistence-unit>
  |     
  | </persistence>
  | 
  | 


application.xml


  | <?xml version="1.0" encoding="UTF-8"?>
  | <application xmlns="http://java.sun.com/xml/ns/javaee" 
  |              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
  |              version="5">
  |     
  |    <display-name>crud9</display-name>
  |    
  |    <module>
  |       <web>
  |          <web-uri>crud9.war</web-uri>
  |          <context-root>/crud9</context-root>
  |       </web>
  |    </module>
  |    
  |    <module>
  |       <ejb>crud9.jar</ejb>
  |    </module>
  |    
  |    <!-- Seam and EL -->
  |    <module>
  |        <ejb>jboss-seam.jar</ejb>
  |    </module>    
  |    <module>
  |        <ejb>hibernate-search.jar</ejb>
  |    </module>
  |    <module>
  |        <ejb>hibernate-commons-annotations.jar</ejb>
  |    </module>
  |    <module>
  |        <ejb>lucene-core-2.2.0.jar</ejb>
  |    </module>
  |  
  | </application>
  | 

Entity annotations:


  | 
  | @Entity
  | @Table(name = "products")
  | 
  | @Indexed(index="products")
  | public class PrProduct implements java.io.Serializable {
  | ....
  | 	@Id 
  | 	@DocumentId
  | 	@Column(name = "product_id", unique = true, nullable = false, length = 20)
  | 	@NotNull
  | 	@Length(max = 20)	
  | 	public String getProductId() {
  | 		return this.productId;
  | 	}
  | 
  | ....
  | 	@Column(name = "name", length = 128)
  | 	@Field(index=Index.TOKENIZED,store=Store.YES)
  | 	@Length(max = 128)
  | 
  | 	public String getName() {
  | 		return this.name;
  | 	}
  | 
  | 	public void setName(String name) {
  | 		this.name = name;
  | 	}
  | ...
  | 	@Column(name = "desc", length = 4000)
  | 	@Field(index=Index.TOKENIZED,store=Store.YES)
  | 	@Length(max = 4000)
  | 	public String geDesc() {
  | 		return this.desc;
  | 	}
  | ....
  | 

More fields (ca 10), but I tried to index theese...

I don't become any error, but I don't see anything under /data/hs_index after I run following indexing code:


  | 
  | @Name("prProductHome")
  | 
  | public class PrProductHome extends EntityHome<PrProduct> {
  | 	@In
  | 	EntityManager entityManager;
  | 
  | ....
  | 	public String createHsIndex(){
  | 		try {
  | 			FullTextEntityManager ftEm = (FullTextEntityManager) entityManager;
  | 			Query q = entityManager.createQuery("select prProduct from PrProduct prProduct");
  | 			
  | 			List<PrProduct> products = q.setMaxResults(200).getResultList();
  | 			
  | 			for (PrProduct prProduct : products) {
  | 				ftEm.index(prProduct);
  | 			}
  | 			
  | 		} catch (Exception e) {
  | 			log.error("Probleeeem: #0", e.getMessage());
  | 		}
  | 		return "OK";
  | 	}
  | 
  | ....
  | 


Can you give me a hint what's wrong or where to search ???


Versions: (From JBoss Log)
Hibernate EntityManager 3.2.1.GA
Hibernate Annotations 3.2.1.GA
Hibernate 3.2.4.sp1
Hibernate Search 3.0.0.CR1.HSEARCH-116


Thank you,
SlavoSk


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099466#4099466

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099466



More information about the jboss-user mailing list