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