วิธีเพิ่มแบบสอบถามไวด์การ์ดเมื่อใช้การค้นหาไฮเบอร์เนต ฉันใช้ Hibernate Search 3.1.1GA jar และไม่สามารถอัปเกรด jar ของฉันเป็นเวอร์ชันที่สูงกว่าได้ ในเวอร์ชันบนของไฮเบอร์เนต เราสามารถใช้วิธีไวด์การ์ดโดยใช้ Query Builder
ฉันติดอยู่ โปรดช่วยฉันด้วย
วิธีเพิ่มแบบสอบถามไวด์การ์ดเมื่อใช้การค้นหาไฮเบอร์เนต ฉันใช้ Hibernate Search 3.1.1GA jar และไม่สามารถอัปเกรด jar ของฉันเป็นเวอร์ชันที่สูงกว่าได้ ในเวอร์ชันบนของไฮเบอร์เนต เราสามารถใช้วิธีไวด์การ์ดโดยใช้ Query Builder
ฉันติดอยู่ โปรดช่วยฉันด้วย
ฉันถือว่าคุณกำลังอ้างถึงคำค้นหา Hibernate Search DSL บางสิ่งเช่นนี้:
Query luceneQuery = queryBuilder
.keyword()
.wildcard()
.onField("foo")
.matching("bar*")
.createQuery();
DSL นี้ไม่ใช่ส่วนหนึ่งของ Search 3.1.1 และถูกเพิ่มเข้ามาในภายหลัง ในเวอร์ชันนี้ คุณต้องสร้างการสืบค้นโดยใช้การสืบค้น Lucene ดั้งเดิม จริงๆ แล้ว Search DSL ทั้งหมดนั้นอยู่ภายใต้การควบคุมของการสร้างข้อความค้นหาแบบเนทีฟเหล่านี้ให้กับคุณ ในกรณีของคุณ คุณต้องการดู org.apache.lucene.search.WildcardQuery
หรือคุณสามารถใช้ org.apache.lucene.queryParser.QueryParser
เพื่อใช้ไวยากรณ์ข้อความค้นหา Lucene ซึ่งอนุญาตให้ใช้ไวด์การ์ดได้เช่นกัน