09/10/2018, 18:16

Tìm kiếm trong Website ??????????

Em đang làm phần tìm kiếm trong Website, nhưng khi tìm kiếm tiếng Anh thì được, nhưng khi tìm kiếm tiếng Việt, thì do thông tin tiếng Việt ghi trong CSDL bị mã hóa, nên không thể tìm được, có ai biết cách không ??
Làm thế nào để tìm kiếm bằng tiếng Việt???
jcisio viết 20:29 ngày 09/10/2018
Miễn là bạn encode dữ liệu trong CSDL và từ khoá nhập vào giống nhau thì bạn tìm bình thường thôi. Hầu hết các forum hiện nay lấy source tiếng Anh về, rồi tìm kiếm bằng tiếng Việt bình thường mà.
Hoặc bạn có thể vào trang web ở chữ kí phía dưới, download source về nghiên cứu một giải pháp tìm kiếm đặc trưng riếng cho tiếng Việt.
anhdabietyeu viết 20:26 ngày 09/10/2018
Thế làm thế nào để nhận biết được ký tự in hoa với không in hoa trong tiếng Việt
Chẳng hạn như khi tìm bài hát "anh yêu em" chẳng hạn, khi đánh không in hoa thì tìm được, nhưng khi đánh in hoa "ANH YÊU EM" thì lại không tìm được....Làm thế nào để giải quyết vấn đề này.
Với lại em nghe một số website nói là dựa theo cách tìm kiếm của GOOGLE, vậy giải thuật tìm kiếm của WEBSITE google.com là như thế nào ??
jcisio viết 20:18 ngày 09/10/2018
- Chữ hoa & thường: đọc trong source ở trên sẽ thấy (kiếm các module về tiếng Việt, chú ý các trường _std trong database).
- Tìm nhanh: lập chỉ mục (index), giống như là tra từ trong từ điển (có index) thì nhanh hơn rất nhiều so với lần mò từng trang sách.
COTTONBELLY viết 20:30 ngày 09/10/2018
Mình biết có một cách hay để giúp tìm TV trong các hệ DB , đó là bạn thực hiện các bước xử lý tìm kiếm và lưu data TV ở dạng VIQR , hiện tại thì không thiếu các hàm có thể convert từ UTF-8 , ABC , VNI to VIQR và ngược lại.
dtt_vn viết 20:24 ngày 09/10/2018
Theo tôi, dùng phép like là tốt rồi. bạn dùng như sau
select * from tb t where t.x like "%***%" tức là bạn chêm dấu % trước string để search. Kèm thêm các điều kiện and hay or sẽ giống google
jcisio viết 20:17 ngày 09/10/2018
Quote Được gửi bởi COTTONBELLY
Mình biết có một cách hay để giúp tìm TV trong các hệ DB , đó là bạn thực hiện các bước xử lý tìm kiếm và lưu data TV ở dạng VIQR , hiện tại thì không thiếu các hàm có thể convert từ UTF-8 , ABC , VNI to VIQR và ngược lại.
Cách đó cũng hay, nhưng cách ở trong cái source kia còn hay hơn Vì ngoài vấn đề xử lí chữ hoa/thường nó còn xử lí cả dấu. Các chữ "hoà" và "hòa" sẽ được đối xử như nhau.

dtt_vn: cách đó không giải quyết được vấn đề tiếng Việt, và chỉ thích hợp với các db nhỏ. Khi db lớn, chỉ cần chừng trăm MB, là sẽ mất thời gian, dù có tạo index FULLTEXT chăng nữa. Ngoài ra, khi dữ liệu lớn, nó nằm trên nhiều bảng, bạn sẽ mất nhiều query để search. Và thêm nữa, khi dùng RegExp hiệu quả sẽ giảm rất nhiều.
dat@ viết 20:19 ngày 09/10/2018
Có ai biết cách load dữ liệu ra template ko? Làm ơn chỉ dzùm...
anhdabietyeu viết 20:26 ngày 09/10/2018
THế tóm lại có ai biết cai source code hoàn chỉnh để tìm kiếm không ạ, ý em là source code có giải thuật tìm kiếm nhanh nhất đó...Mọi người thử post giải thuật của mình lên xem nào
Bim viết 20:29 ngày 09/10/2018
To dat@: Ra chỗ khác hỏi, bất lịch sự wé...

Tui cũng dùng LIKE '%$tim%'

Đơn giản, mà hiệu quả, tuy nhiên vẫn có trường hợp không ôkie. Tuichưa nghiên cứu kỹ phần này, để vài bửa coding đến chổ tìm kiếm rồi tìm hiểu lun
Bài liên quan
0