首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.hibernate.search.bridge.BridgeException:调用bridge#objectToString时的异常

org.hibernate.search.bridge.BridgeException:调用bridge#objectToString时的异常
EN

Stack Overflow用户
提问于 2014-06-19 08:39:16
回答 1查看 1.1K关注 0票数 2

我能够插入记录和索引,但是我在搜索时会遇到异常。

调用org.hibernate.search.bridge.BridgeException:类时的bridge#objectToString异常: com.edoors.formBean.Hib_cons_Cv路径: cons_cv

我可以在除blob列之外的所有桌子上搜索

场桥

代码语言:javascript
复制
public class ByteArrayBridge implements TwoWayStringBridge  {    
    public String objectToString(Object object) {        
        byte[] data = (byte[]) object;        
        StringWriter writer = new StringWriter();        
        InputStream is = null;        
        try {            
            is = new ByteArrayInputStream(data);            
            new AutoDetectParser().parse(is,new WriteOutContentHandler(writer),new Metadata(),new             
            ParseContext());              
            return is.toString();            
        }  catch (Exception e) {            
            System.out.println("Exception  "+e);
            }             
            return writer.toString();
        }

        public Object stringToObject(String string) {            
            byte[] data=string.getBytes();            
            Object obj=data;          
            return obj;

        }
    }

DAO类::

代码语言:javascript
复制
public List searchConsultantByTitle(String jobtitle)
{
    List list=null;        
    Session session = hiberUtil.openSession();   
    Transaction tx = null;    
    try{        
        tx = session.beginTransaction();        
        FullTextSession fullTextSession = Search.getFullTextSession(session);               
        QueryBuilder queryBuilder =         
        fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(Hib_cons_Cv.class).get();        

        org.apache.lucene.search.Query luceneQuery = null;        
        luceneQuery =         
        queryBuilder.keyword().fuzzy().withThreshold(0.7f).onField("cons_cv").matching(jobtitle).createQuery();

        FullTextQuery hibernateQuery = fullTextSession.createFullTextQuery(luceneQuery, Hib_cons_Cv.class);        
        int resultSize = hibernateQuery.getResultSize();        
        System.out.println(".....resultSize..............................."+resultSize);        
    }
    catch(Exception e)    
    {
        System.out.println(e.getMessage());
    }
}

POJO类

代码语言:javascript
复制
@Entity
@AnalyzerDef(name = "customanalyzer", tokenizer = @TokenizerDef(factory = 
KeywordTokenizerFactory.class), filters = {   
    @TokenFilterDef(factory = LowerCaseFilterFactory.class),
    @TokenFilterDef(factory = SnowballPorterFilterFactory.class, params = { 
    @Parameter(name = "language", value = "English") }) })
    @Indexed
    public class Hib_cons_Cv {        
        @Column(name = "cons_cv", unique = false, nullable = false, length = 59296)     
        @Lob        
        @Field(analyze = Analyze.NO, store = Store.YES)        
        @FieldBridge(impl = ByteArrayBridge.class)       
        private Blob cons_cv;        
        //setters and getters
    }
EN

回答 1

Stack Overflow用户

发布于 2022-02-04 10:59:00

我还得到了这个错误(没有堆栈跟踪)。结果我输入了错误的字段名。它实际上是在使用一个没有桥接的字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24302267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档