Tôi cần phải tìm kiếm một tập hợp các câu có tiềm năng lớn và tôi không biết bắt đầu từ đâu.Viết thuật toán tìm kiếm toàn văn bản trong C#/Entity Framework - bắt đầu từ đâu?
Tóm lại, người dùng sẽ gửi cụm từ tìm kiếm, ví dụ "làm cách nào để xóa tài khoản của tôi", sau đó tôi cần chuyển đến db và thực hiện đối sánh với các từ được cung cấp.
Tại thời điểm này tôi đang nghĩ đến việc làm một cái gì đó như sau: cụm từ
- Split tới từ riêng lẻ
- Hủy bỏ từ rất phổ biến (và, nếu, vv)
- Bằng cách nào đó đặt hàng từ bằng cách ưu tiên (không có ý tưởng làm thế nào để làm điều này được nêu ra)
- Sử dụng vòng lặp EF qua các từ, thực hiện một String.Contains trên mỗi db bản ghi và từ
- Nếu không tìm thấy kết quả, hãy xóa một số Nói cách ưu tiên wer và tìm kiếm một lần nữa
- Lặp lại
bất cứ ai có thể chỉ cho tôi đi đúng hướng? Ngoài ra, nếu có ai biết bất kỳ thư viện nào để thực hiện loại công việc này sẽ tuyệt vời.
Cheers
Bạn có thực sự muốn viết tìm kiếm toàn văn hoặc đang sử dụng đủ không? Nếu sử dụng nó là đủ, bạn có thể ném Lucene.net vào vấn đề. – CodesInChaos
Tôi sẽ sử dụng nhiều hơn một quyền – jcvandan
Tuy nhiên, tôi muốn tìm kiếm xảy ra trong SQL nếu có thể, tôi không thực sự muốn trả lại toàn bộ bản ghi bao giờ tôi cần tìm kiếm – jcvandan