Hi
I am not getting any result when i search after indexing.
Following is the annotated java class and the test class.
Campaign.java-------
package com.XXX.javabeans;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.DocumentId;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.Store;
/**
* Campaign generated by hbm2java
*/
@Entity
@Table(name = "campaign")
@Indexed(index="campaign")
public class Campaign implements java.io.Serializable {
private long campaignId;
private String campaignName;
public Campaign() {
}
public Campaign(long campaignId, String campaignName) {
this.campaignId = campaignId;
this.campaignName = campaignName;
}
@Id
@Column(name = "CampaignID", unique = true, nullable = false)
@DocumentId
public long getCampaignId() {
return this.campaignId;
}
public void setCampaignId(long campaignId) {
this.campaignId = campaignId;
}
@Column(name = "CampaignName", nullable = false, length = 40)
@Field(index = Index.TOKENIZED, store = Store.YES)
public String getCampaignName() {
return this.campaignName;
}
public void setCampaignName(String campaignName) {
this.campaignName = campaignName;
}
}
TestClass---------
package com.XXX.javabeans;
import java.util.List;
import org.apache.lucene.analysis.StopAnalyzer;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.search.FullTextSession;
import org.hibernate.search.Search;
import com.einstix.utils.HibernateUtils;
public class TestDetpEmp {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Session s = HibernateUtils.getCurrentSession();
Campaign obj = new Campaign();
obj.setCampaignName("sanjeet");
HibernateUtils.saveOrUpdate(obj);
System.out.println("Object successfully inserted");
FullTextSession textSession = Search.createFullTextSession(s);
QueryParser parser = new QueryParser("CampaignName", new StopAnalyzer());
org.apache.lucene.search.Query luceneQuery = parser.parse("CampaignName:sanjeet");
org.hibernate.Query fullTextQuery = textSession.createFullTextQuery(luceneQuery);
List<Object> result = fullTextQuery.list();
for (Object o : result) {
System.out.println("Result: " + o);
}
HibernateUtils.closeSession();
}
}
I not getting any exception also.
Thanks
|