2008-11-16 23 views
5

Tôi đã thực hiện tìm kiếm toàn văn cho một trang web sử dụng Lucene.NET (Phiên bản 2.0). Lập chỉ mục và tìm kiếm hoạt động tốt, nhưng tôi có một vấn đề. Nếu tôi tìm các số (số điện thoại, số sản phẩm, v.v.) làm cụm từ tìm kiếm, tôi không nhận được bất kỳ tài liệu nào.Làm cách nào để lập chỉ mục và tìm số bằng Lucene.NET?

Tôi đang sử dụng lớp Lucene.Net.Analysis.SimpleAnalyzer. Tôi đoán tôi phải thay đổi Analyzer và/hoặc Tokenizer.

Bạn có lời khuyên nào không?

Cảm ơn bạn!

Trả lời

13

Khi bạn xây dựng Tài liệu Lucene, bạn có thể chọn các tùy chọn lập chỉ mục khác nhau cho mỗi trường. Đối với các trường bạn không muốn mã hóa, bạn cần chọn tùy chọn Field.Index.UN_TOKENIZED. Điều này sẽ giữ cho số điện thoại và số sản phẩm của bạn không đổi.

Tôi cũng khuyên bạn nên sử dụng StandardAnalyzer, vì nó không loại bỏ số lượng như SimpleAnalyzer.

Điều quan trọng là bạn sử dụng cùng một trình phân tích cho cả việc lập chỉ mục và tìm kiếm để nhận được kết quả nhất quán.

Các vấn đề liên quan