0

我正在使用 Lucene+Hibernate Search,并选择 DefualtAnalyzer 作为分析器。但我不喜欢它,我只是希望输入的值可以准确匹配。例如,输入“我爱你”,会被解析为“[Ilo lov ove eyo you]”。

我只想我只想'我爱你'匹配'我爱你',如果不是'我爱你',你什么都找不到。

那么如何让它工作呢?

4

2 回答 2

1

像这样做:

    FullTextSession fullTextSession = Search.getFullTextSession(session);
    Transaction tx = fullTextSession.beginTransaction();
    Querybuilder builder=fullTextSession.getSearchFactory().
                           buildQueryBuilder().forEntity(persistentClass).get();
    Query luceneQuery=builder.keyword().
                        onField("fieldName").
                        ignoreAnalyzer().
                        matching(queryText).createQuery();
于 2012-10-12T05:13:29.410 回答
1

如果您想在索引过程中关闭分析,您需要使用:

@Field.analyze(Analyze.NO)
于 2012-10-12T08:22:11.967 回答