Tôi đang triển khai chức năng tìm kiếm toàn văn trên my rap website và tôi đang gặp một số vấn đề với tên rapper và tên bài hát.Tìm kiếm toàn văn cho tên rapper không bình thường với Solr
Ví dụ: ai đó có thể muốn tìm kiếm rapper "Cam'ron" bằng cách sử dụng truy vấn "camron" (bỏ qua dấu nháy đơn giữa). Tương tự như vậy, ai đó có thể tìm kiếm bài hát "3 Peat" bằng cách sử dụng truy vấn "3peat".
"The Notorious B.I.G." là một trường hợp kỳ lạ: "Notorious BIG" và "The Notorious B.I.G." cả hai công việc (tôi đoán bởi vì các solr.StandardFilterFactory loại bỏ các dấu chấm từ viết tắt?), nhưng "The Notorious B.I.G" (tức là, trừ dấu chấm) không.
Lý tưởng nhất là tất cả các biến thể hợp lý của những tên này đều hoạt động. Tôi đoán câu trả lời có liên quan đến solr.WordDelimiterFilterFactory, nhưng tôi không chắc chắn.
Ngoài ra, tôi đang sử dụng Sunspot with Rails nếu có liên quan.
Lời khuyên tuyệt vời, cảm ơn. Tôi thêm vào sau đây để 'schema.xml':' '. Điều này dường như giải quyết tất cả mọi thứ ngoại trừ trường hợp "B.I.G". Ý tưởng nào? –
Có thể là do StandardTokenizer. Thay vào đó, tôi sẽ thay thế nó bằng WhitespaceTokenizer.Để phân tích, cách phân tích của bạn đang hoạt động, bạn có thể sử dụng "Phân tích" trong solr của mình, nếu bạn có giao diện web cho nó. Ở đó bạn có thể thấy, phân tích nào đang biến đổi văn bản của bạn, và kết quả của công việc đó là gì. – Yurish