30/09/2018, 18:56

Tìm Kiếm Tiếng Việt Có Dấu, Không Dấu Trong Lucene

Chào các anh, chị, hiện em đang có nhu cầu tìm kiếm tiếng việt có dấu, không dấu trong Lucene. Nhưng chưa tìm được cách. Mong các anh chị có hướng giải quyết hướng dẫn lại cho em. Cảm ơn các anh chị.

Nguyễn Hữu Quyền viết 21:08 ngày 30/09/2018

Có hai phương án , cách đơn giản là bạn chuyển tiếng việt có dấu sang không dấu và tìm kiếm trên chuỗi này, điểm bất lợi là nó ra quá nhiều kết quả mà người dùng không cần ví dụ tìm Nam thì nó ra cả nảm,nám,nàm ,…
Nên thường áp dụng là chuyển ra mã UNICODE rồi bạn so khớp trên chuỗi này là ổn nhất, bạn có thể áp dụng các thuật toán so khớp như KMP để tìm rồi áp dụng thuật toán về xác suất kết quả cao nhất cho từ khóa nữa là ổn.

Nguyễn Văn Cờ Đỏ viết 21:02 ngày 30/09/2018

UNICODE

Cách unicode anh có ví dụ về phần này không anh? Nếu có anh chia sẻ cho e với.

Nguyễn Hữu Quyền viết 21:11 ngày 30/09/2018

Em tham khảo theo các link ảnh gửi nhé , còn riêng Java có thể set Charset cho chuỗi rồi so khớp theo các thư viện có sẵn của Java cũng được nhé . em tra google là có ngay , dưới link dưới cũng có đề cập đến

https://docs.oracle.com/javase/tutorial/i18n/text/string.html

stackoverflow.com
SharonBL

How to convert a string with Unicode encoding to a string of letters

java, unicode, encoding
asked by SharonBL on 07:47PM - 21 Jun 12

PS: cách của anh là cách bình thường hay dùng thôi , em dùng Apache Lucene thì có những thư viện hỗ trợ rất tốt em nên tra cứu tìm hiểu thêm nhé , có cả phần tìm kiếm trên File nữa ^^~, Chúc em học tốt

http://www.programcreek.com/java-api-examples/index.php?api=org.apache.lucene.util.UnicodeUtil

Bài liên quan
0