0
早些时候我们搜索像“David Azrael父亲”。它将所有结果名称返回为Father或David或Azrael。如何使用Hibernate Lucene搜索一个完整的短语和单个词条?
以下是以图片代码:
String[] FIELDS = { "id", "person.firstName", "person.middleName", "person.lastName" };
for (String field : FIELDS) {
for (String match : pattern) {
bool.should(qb.keyword().wildcard().onField(field).matching(match).createQuery());
}
}
query = bool.createQuery();
除了上面的情况,现在有额外的要求,如果最终用户想要搜索“父亲大卫死神”;他只应得到一个结果。
意思是如果我们搜索“David Azrael父亲”;那么只有有这个名字的结果才会出现,但如果用户搜索“Father Azrael”,那么它应该像现在一样工作。
那么需要用上面的代码来实现相同的变化呢?
@femtoRogn 父亲是名,大卫是中间名,以色列是姓氏。在单一字段,如名字;我们能够在上面跑步吗?让我试试。另外 “父亲Azrael”是指如果名字或姓氏有父亲和以色列都 – fatherazrael