【发布时间】:2009-10-15 07:59:41
【问题描述】:
我正在使用 Hibernate Search / Lucene 来维护一个非常简单的索引来按名称查找对象 - 没有花哨的东西。
我的模型类都扩展了一个类NamedModel,基本上如下所示:
@MappedSuperclass
public abstract class NamedModel {
@Column(unique = true)
@Field(store = Store.YES, index = Index.UN_TOKENIZED)
protected String name;
}
我的问题是在查询索引以查找名称以特定字母开头的对象时出现BooleanQuery$TooManyClauses 异常,例如"name:l*"。
像"name:lin*" 这样的查询将毫无问题地工作,事实上任何在通配符之前使用多个字母的查询都可以工作。
在网上搜索类似问题时,我只发现有人使用非常复杂的查询,而且这似乎总是导致异常。我不想增加maxClauseCount,因为我认为仅仅因为达到限制就改变限制不是一个好习惯。
这里有什么问题?
【问题讨论】:
标签: java exception hibernate-search