Tôi đang sử dụng Lucene trong cổng của tôi (dựa trên J2EE) để lập chỉ mục và tìm kiếm dịch vụ.Tìm kiếm từ khóa (OR, AND) trong Lucene
Vấn đề là về từ khóa của Lucene. Khi bạn sử dụng một trong số họ trong truy vấn tìm kiếm, bạn sẽ gặp lỗi.
Ví dụ:
searchTerms = "ik OR jij"
này hoạt động tốt, bởi vì nó sẽ tìm kiếm "ik"
hoặc "jij"
searchTerms = "ik AND jij"
này hoạt động tốt, nó tìm kiếm "ik"
và "jij"
Nhưng khi bạn tìm kiếm:
searchTerms = "OR"
searchTerms = "AND"
searchTerms = "ik OR"
searchTerms = "OR ik"
vv, nó sẽ thất bại với một lỗi:
Component Name: STSE_RESULTS Class: org.apache.lucene.queryParser.ParseException Message: Cannot parse 'OR jij': Encountered "OR" at line 1, column 0. Was expecting one of: ...
Nó có ý nghĩa, bởi vì những lời này là từ khóa cho Lucene có lẽ dự trữ và sẽ hoạt động như từ khóa.
Ở Hà Lan, từ "OR" là quan trọng vì nó có ý nghĩa cho "Ondernemings Raad". Nó được sử dụng trong nhiều bản văn, và nó cần phải được tìm thấy. Ví dụ "hoặc" không hoạt động, nhưng không trả về các văn bản khớp với cụm từ "HOẶC". Làm thế nào tôi có thể làm cho nó có thể tìm kiếm được?
Làm cách nào để thoát khỏi từ khóa "hoặc"? Hoặc Làm cách nào tôi có thể yêu cầu Lucene coi "hoặc" là cụm từ tìm kiếm KHÔNG phải là từ khóa.
phiên bản nào của Lucene? AFAIk, truy vấn Boolean hoạt động cho tôi với BooleanClause.Occur.SHOULD | PHẢI | MUSTNOT (OR | AND | NOT) resp. – Narayan
hiện công việc tìm kiếm trong Luke ==> http://www.getopt.org/luke/ – Narayan