【问题标题】:Hibernate Search, am I doing it right?休眠搜索,我做对了吗?
【发布时间】:2011-03-16 20:52:38
【问题描述】:

我有一个实体,我希望使用 Hibernate 搜索对其进行索引,以利用全文搜索功能。该实体有几个我需要过滤的字段。举个例子:

@Field(index = Index.TOKENIZED, store = Store.NO)
@Lob
private String description;

@Field(index = Index.UN_TOKENIZED, store = Store.NO)
@Enumerated(EnumType.STRING)
@NotNull
private Type type;

description 字段是我想要使用全文搜索的对象。 Type 字段我只想做一场普通的老比赛。我觉得 Lucene 应该在进行全文搜索的基础上直接处理匹配,我​​觉得有点不对劲,我应该使用类似 CriteriaBuilder 的东西来处理额外的过滤。但是,我找不到将两者结合起来的任何方法,我在我的搜索算法中使用BooleanJunction 运算符,在我需要直接匹配的字段上使用mustmatchingkeyword

所以我的问题是,我做得对还是应该只使用 Lucene 进行全文搜索并以其他方式过滤其他属性?

非常感谢, 芬巴尔

【问题讨论】:

    标签: lucene hibernate-search


    【解决方案1】:

    @Finbarr,我的建议是为此使用 Hibernate Search。我建议按类型过滤结果,您应该使用 Hibernate Search FullTextFilter 并在执行此查询之前启用通过“描述”搜索的 FullTextQuery 过滤器。如果文档不够,我可以为您发布一个示例,我经常使用这些过滤器并且它们工作得很好。

    【讨论】:

    猜你喜欢
    • 2011-11-17
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2020-09-18
    • 2015-07-25
    相关资源
    最近更新 更多