Tức là e sẽ lưu 1 trường tên là config, nó chứa giá trị như sau: +hello -world ở 1 document.
Khi người dùng tìm kiếm từ "hello world" thì những document nào có trường config có giá trị như: +hello +world sẽ được lấy ra.
Qua tìm hiểu mình thấy thằng elasticsearch có thằng query string cho phép mình tìm kiếm kiểu cấu hình từ khóa. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
Nhưng giờ vấn đề là khi người dùng gõ "hello world" thì mình làm ntn để đi truy vấn vào trường config để lấy ra những kết quả mong muốn.
Không nên nên sử dụng Node.js cho các ứng dụng đòi hỏi sự tính toán nặng CPU
nghĩa là nếu 1 lúc nào đó mà có 1 vòng for i = 1 -> 1000_000 thì có nghĩa là ứng dụng node của bạn đến lúc chết và phải viết lại bằng ngôn ngữ khác - true multi thread
Cơ bản theo mô tả thì seqNo biến data set của bạn trở thành giống như 1 queue.
Với mức độ concurrency như mô tả thì đây là 1 bài toán không nhỏ, việc chỉ dựa vào code để xử lý luôn để lại vấn đề nếu bạn không tạo được 1 queue thống nhất giữa các thread, hoặc tốc độ xử lý của hệ thống không đáp ứng được.
Nếu phương án built-in của SQL hiện tại không thể giải quyết ngay được, bạn nên cân nhắc
Cân đối lại giữa requirement và SQL engine. Trong TH là MySQL không phải lúc nào InnoDB cũng tốt nhất cho concurrency khi mà MyISAM có tốc độ lớn hơn InnoDB rất rất nhiều, mà lại single thread. Trong TH ghi siêu tốc như thế này, MyISAM là một lựa chọn tốt hơn nhiều InnoDB. Đây là phương án đơn giản nhất, vì bạn chẳng phải đổi gì cả, ngoại trừ engine cho table có seqNo
Sử dụng hệ queue chuyên biệt. Đơn giản nhất là dùng Redis. Sau đó là async update seqNo
Về quy tắc thì Viblo không thể chia sẻ thông tin người dùng cho bên thứ 3. Nếu bạn có vấn đề cần trao đổi với tác giả thì bạn có thể để lại comment trong bài viết,
hoặc bạn cũng có thể tạo câu hỏi trên Viblo để nhờ người dùng khác giải đáp.
@nguyenvan Có vẻ như bạn gặp vấn đề về encoding khi mở file rồi.
Bạn có thể upload nguyên file của bạn nên một nơi nào đó chẳng hạn như google drive rồi gửi link lại link ở đây được không.
Trước mình cũng code 1 cái app tìm xe mà mày mò cũng khá mệt vụ này. Cảm ơn chủ thớt nhá.
À tiện thể mình thấy chủ thớt có bảo "lúc mình tham gia 1 vòng thi freelancer trên UpWork". Mình lại code khá cứng Android nên không biết chủ thớt có việc nào cần ôm Android share mình cái.
Khi tạo cơ sở dữ liệu, thêm khoá ngoại là nó bắt đánh index luôn cho các khoá rồi mà bạn? Bài viết vẫn chưa nói rõ vấn đề lắm.
Mình không hiểu cơ chế đánh index ntn? Nó đánh index theo số thứ tự 1 2 3 4... à? Và nó tìm kiếm kiểu gì được. Ví dụ khi mình tìm kiếm user có name là Nam, thì nó
sẽ tìm kiếm dựa trên index như thế nào??
Cảm ơn bác đã chia sẻ. Em cũng đang tìm hiểu về thằng Elasticsearch này và đang gặp chút vấn đề là: giờ em đang cho người dùng cấu hình từ khóa để hiển thị theo kiểu( boolean search + - * ~ các từ với nhau), nhưng khi em dùng Query string của thằng Elastic thì không được. Bác xem có cách nào giúp mình với.
THẢO LUẬN
Tức là e sẽ lưu 1 trường tên là config, nó chứa giá trị như sau: +hello -world ở 1 document. Khi người dùng tìm kiếm từ "hello world" thì những document nào có trường config có giá trị như: +hello +world sẽ được lấy ra. Qua tìm hiểu mình thấy thằng elasticsearch có thằng query string cho phép mình tìm kiếm kiểu cấu hình từ khóa. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
Nhưng giờ vấn đề là khi người dùng gõ "hello world" thì mình làm ntn để đi truy vấn vào trường config để lấy ra những kết quả mong muốn.
skype thuộc loại buộc phải dùng, nên ko thể phàn nàn & ko nên phàn nàn
đây là toán chứ có phải code đâu @@, dành cho các bạn chuyên toán - tin
Sorry, mình đã nói sai, bạn đã hiểu rõ mình muốn miệt thị bạn!
Không nên nên sử dụng Node.js cho các ứng dụng đòi hỏi sự tính toán nặng CPU
nghĩa là nếu 1 lúc nào đó mà có 1 vòng for i = 1 -> 1000_000 thì có nghĩa là ứng dụng node của bạn đến lúc chết và phải viết lại bằng ngôn ngữ khác - true multi thread
mình thử review anh Bob nhé,
mình mà là anh Bob thì ngày đầu bạn phải đọc https://google.github.io/styleguide/javaguide.html
nếu nodejs thì đọc https://github.com/airbnb/javascript
2 anh Bob chắc cũng nói chuyện sai trái nhiều về vần đề này
vấn đề 2 thì mình bảo lưu quan điểm giống của bạn, code là để cho dễ đọc chứ ko thể hiện gì cả, với cả debug cũng tiện (nếu policy cty cho dùng debug)
Bạn có thể nói cụ thể hơn không hoặc cho luôn 1 ví dụ cụ thể mong muốn đầu vào, đầu ra ntn?
Cơ bản theo mô tả thì
seqNo
biến data set của bạn trở thành giống như 1 queue. Với mức độ concurrency như mô tả thì đây là 1 bài toán không nhỏ, việc chỉ dựa vào code để xử lý luôn để lại vấn đề nếu bạn không tạo được 1 queue thống nhất giữa các thread, hoặc tốc độ xử lý của hệ thống không đáp ứng được.Nếu phương án built-in của SQL hiện tại không thể giải quyết ngay được, bạn nên cân nhắc
seqNo
seqNo
theo mình hiểu đơn giản thì process là do Operating System tạo, quản lý. Nó thuộc về OS. còn thread là của process
Ok bạn, có thể lúc đó mình chưa hiểu nhưng miệt thị người khác như vậy thì cũng ko làm bạn giỏi hơn nhỉ
Xin chào bạn.
Về quy tắc thì Viblo không thể chia sẻ thông tin người dùng cho bên thứ 3. Nếu bạn có vấn đề cần trao đổi với tác giả thì bạn có thể để lại comment trong bài viết, hoặc bạn cũng có thể tạo câu hỏi trên Viblo để nhờ người dùng khác giải đáp.
Bài viết bạn muốn nhắc đến hình như là bài này đúng không nhỉ: https://viblo.asia/p/mot-so-phuong-phap-bao-mat-bao-ve-website-cua-ban-tranh-khoi-hacker-oOVlYyOol8W Tác giả của bài viết là bạn @nguyenhoa , nhé bạn. Bạn có thể mention user để gửi thông báo đến cho user trên Vilo :slight_smile:
Khả năng diễn giải của coder là có giới hạn ko ngờ bạn còn bị giới hạn bởi khả năng đọc hiểu!
Puppeteer chỉ hỗ trợ Chromium.
Ok bạn.
@nguyenvan Có vẻ như bạn gặp vấn đề về encoding khi mở file rồi. Bạn có thể upload nguyên file của bạn nên một nơi nào đó chẳng hạn như google drive rồi gửi link lại link ở đây được không.
Cảm ơn bạn đã quan tâm nhé, hiện giờ bận quá mình không làm freelancer nữa nên cũng không có job. Hẹn một ngày không xa có thể hợp tác với nhau.
Trước mình cũng code 1 cái app tìm xe mà mày mò cũng khá mệt vụ này. Cảm ơn chủ thớt nhá. À tiện thể mình thấy chủ thớt có bảo "lúc mình tham gia 1 vòng thi freelancer trên UpWork". Mình lại code khá cứng Android nên không biết chủ thớt có việc nào cần ôm Android share mình cái.
oh thanks bạn, mình hỉu rùi. ^^
Khi tạo cơ sở dữ liệu, thêm khoá ngoại là nó bắt đánh index luôn cho các khoá rồi mà bạn? Bài viết vẫn chưa nói rõ vấn đề lắm. Mình không hiểu cơ chế đánh index ntn? Nó đánh index theo số thứ tự 1 2 3 4... à? Và nó tìm kiếm kiểu gì được. Ví dụ khi mình tìm kiếm user có name là Nam, thì nó sẽ tìm kiếm dựa trên index như thế nào??
Cảm ơn bác đã chia sẻ. Em cũng đang tìm hiểu về thằng Elasticsearch này và đang gặp chút vấn đề là: giờ em đang cho người dùng cấu hình từ khóa để hiển thị theo kiểu( boolean search + - * ~ các từ với nhau), nhưng khi em dùng Query string của thằng Elastic thì không được. Bác xem có cách nào giúp mình với.