【发布时间】:2017-12-01 22:12:13
【问题描述】:
我已经尝试过使用短语、通配符和关键字查询,但没有什么能真正完美地工作。
...
@Field(name = "firstLastName", index = org.hibernate.search.annotations.Index.YES, analyze = Analyze.NO, store = Store.NO)
public String getFirstLastName() {
return this.firstLastName;
}
...
如果用户键入 John Smith、Smith John 或 Smith Jo* 或 John Smi*...,现在我想查询该字段并返回正确的结果。
junction = junction.should(qb.keyword().wildcard().onField("firstLastName")
.matching("John Smith*").createQuery());
如果我只搜索给定关键字查询的 Smith 或 John,我会获得成功。我没有分析该领域,因为我认为我不需要,但我尝试了两种方式都没有成功......
【问题讨论】:
-
我可以编写一个自定义分析器并这样做,但必须有别的东西。