Làm cách nào để kích hoạt xuất phát khi tìm kiếm bằng lucene.net?Làm cách nào để kích hoạt khi tìm kiếm bằng lucene.net?
Trả lời
Để thực hiện việc này, bạn cần phải viết lớp phân tích của riêng mình. Điều này là tương đối đơn giản. Đây là cái tôi đang sử dụng. Nó kết hợp lọc từ dừng. Porter xuất phát và (điều này có thể là quá nhiều cho nhu cầu của bạn) tước dấu trọng âm từ các nhân vật.
/// <summary>
/// An analyzer that implements a number of filters. Including porter stemming,
/// Diacritic stripping, and stop word filtering.
/// </summary>
public class CustomAnalyzer : Analyzer
{
/// <summary>
/// A rather short list of stop words that is fine for basic search use.
/// </summary>
private static readonly string[] stopWords = new[]
{
"0", "1", "2", "3", "4", "5", "6", "7", "8",
"9", "000", "$", "£",
"about", "after", "all", "also", "an", "and",
"another", "any", "are", "as", "at", "be",
"because", "been", "before", "being", "between",
"both", "but", "by", "came", "can", "come",
"could", "did", "do", "does", "each", "else",
"for", "from", "get", "got", "has", "had",
"he", "have", "her", "here", "him", "himself",
"his", "how","if", "in", "into", "is", "it",
"its", "just", "like", "make", "many", "me",
"might", "more", "most", "much", "must", "my",
"never", "now", "of", "on", "only", "or",
"other", "our", "out", "over", "re", "said",
"same", "see", "should", "since", "so", "some",
"still", "such", "take", "than", "that", "the",
"their", "them", "then", "there", "these",
"they", "this", "those", "through", "to", "too",
"under", "up", "use", "very", "want", "was",
"way", "we", "well", "were", "what", "when",
"where", "which", "while", "who", "will",
"with", "would", "you", "your",
"a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "m", "n", "o", "p", "q", "r",
"s", "t", "u", "v", "w", "x", "y", "z"
};
private Hashtable stopTable;
/// <summary>
/// Creates an analyzer with the default stop word list.
/// </summary>
public CustomAnalyzer() : this(stopWords) {}
/// <summary>
/// Creates an analyzer with the passed in stop words list.
/// </summary>
public CustomAnalyzer(string[] stopWords)
{
stopTable = StopFilter.MakeStopSet(stopWords);
}
public override TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
{
return new PorterStemFilter(new ISOLatin1AccentFilter(new StopFilter(new LowerCaseTokenizer(reader), stopWords)));
}
}
Cảm ơn, tôi sẽ thử điều này. – devson
+1 cảm ơn Jack, chỉ là những gì tôi đang tìm kiếm. Nếu tôi có thể đánh dấu đây là câu trả lời! – andy
Tôi đã sử dụng ví dụ của bạn, tuy nhiên tôi không nhận được kết quả cho các truy vấn cho một số '4656' (công cụ phân tích chuẩn) tôi đã thay thế các từ dừng bằng' StopAnalyzer.ENGLISH_STOP_WORDS' được tích hợp trong đó không bao gồm số, bất kỳ ý tưởng gì trên đó? – Myster
Bạn có thể sử dụng Snowball hoặc PorterStemFilter. Xem Java Analyzer documentation làm hướng dẫn kết hợp các Bộ lọc/Bộ mã hóa/Trình phân tích khác nhau. Lưu ý rằng bạn phải sử dụng cùng một bộ phân tích để lập chỉ mục và truy xuất, do đó việc xử lý bắt nguồn sẽ bắt đầu vào thời gian lập chỉ mục.
Cảm ơn, tôi sẽ thử điều này. – devson
- 1. Làm cách nào để CamelCase kích hoạt Tìm kiếm Vim
- 2. Tìm kiếm lân cận Lucene.net
- 3. Lucene.Net Kết quả tìm kiếm để làm nổi bật các từ khóa tìm kiếm
- 4. Tìm kiếm đa lĩnh vực Lucene.net
- 5. Làm cách nào để lập chỉ mục và tìm số bằng Lucene.NET?
- 6. Lucene.Net: Làm cách nào để thêm bộ lọc ngày vào kết quả tìm kiếm của tôi?
- 7. Làm cách nào để Lập chỉ mục và tìm kiếm trường Ngày giờ trong Lucene.NET?
- 8. nút ‘tìm kiếm’ để kích hoạt tự động hoàn thành
- 9. Làm thế nào để kích hoạt "tìm kiếm trực tiếp" trong nhật thực?
- 10. Làm cách nào để kích hoạt PDO bằng CentOS?
- 11. Trong tìm kiếm Lucene/Lucene.net, làm cách nào để đếm số lần truy cập trên mỗi tài liệu?
- 12. Làm thế nào để sử dụng Lucene.NET để giúp thực hiện tìm kiếm trên một trang web như Stack Overflow?
- 13. Làm thế nào để kích hoạt LockModeType.PESSIMISTIC_WRITE khi tìm kiếm các thực thể với JPA dữ liệu mùa xuân?
- 14. Làm cách nào để có thể thực hiện các đề xuất tìm kiếm/tìm kiếm trực tiếp bằng Dojo?
- 15. Tìm kiếm một ví dụ về cách sử dụng Lucene.net với ASP.NET
- 16. Làm cách nào để kích hoạt nút hủy trong UISearchBar?
- 17. Làm cách nào để kích hoạt việc gửi biểu mẫu khi tải trang bằng cách sử dụng Jquery
- 18. Làm cách nào để tìm kiếm giá trị từ nhiều bảng bằng ký tự đại diện?
- 19. Làm cách nào để tìm kiếm jQuery trực tiếp của tôi chờ một giây trước khi thực hiện tìm kiếm?
- 20. Làm cách nào để kích hoạt hoạt ảnh CSS3 (webkit) bằng javascript?
- 21. Làm cách nào để tránh nhiều trình kích hoạt trên EditText khi người dùng đang gõ?
- 22. Cách tìm hiểu sự kiện JavaScript nào được kích hoạt?
- 23. Làm cách nào để kích hoạt cảnh báo âm thanh trong OSX bằng Cocoa?
- 24. Tìm kiếm XML bằng hoạt động tìm kiếm đầy đủ tương tự hoặc tương tự
- 25. Làm cách nào để kích hoạt macro chạy sau khi nhận được thư mới trong Outlook?
- 26. Làm thế nào để tìm kiếm tài liệu bằng cách oid trong mongoengine
- 27. Lucene.NET và tìm kiếm trên nhiều trường có giá trị cụ thể
- 28. Làm cách nào để bảo vệ bộ lọc tìm kiếm trong jqGrid khi tải lại trang?
- 29. Làm cách nào để tìm hiểu cách xây dựng được kích hoạt trong Jenkins
- 30. Làm cách nào để chứng minh hoạt động này trên cây tìm kiếm nhị phân?
Bạn đang sử dụng trình phân tích nào? – Kane
Tôi đang sử dụng Máy phân tích tiêu chuẩn. – devson