Lucene là gì

1. Giới thiệu về Lucene

Bài viết hôm trước tôi đã trình làng về NOSQL, cấu trúc của NoSQL không ràng buộc vậy việc tìm và đào bới kiếm tin tức trên dữ liệu NoSQL tất cả khó không? gồm thư viện nào cung ứng không?Câu trả lời ở đấy là bạn đừng lo, có rất nhiều thư viện để trợ góp điều đó. Lúc này tôi xin giới thiệu về một thư viện search kiếm toàn văn phiên bản tên là Lucene.Lucene được cải cách và phát triển bởi Dough Cutting trong thời điểm tháng 8 năm 2000, hiện nay tại đang được Apache phát triển và hỗ trợ. Lucene cung ứng cho việc đánh index- chỉ mục và tìm kiếm. Dữ liệu tìm kiếm rất có thể là tập tin dạng PDF, Word xuất xắc HTML, Json,... Hoặc dữ liệu trong những hệ quản lí trị tài liệu như MS SQL, SQL server giỏi MySQL. Lucene bắt đầu được cải cách và phát triển trên ngôn ngữ java, đến thời điểm này thì được cách tân và phát triển bằng các ngôn ngũ như Perl, C++/C#, Python, Ruby, PHP,...

Bạn đang xem: Lucene là gì

*

2. Chức năng của Lucence

Qua quan niệm trên có thể thấy một trong những phần sức mạnh của Lucence rồi đúng không? Lucence có khả năng tìm kiếm đối với tất cả dữ liệu cấu tạo và dữ liệu phi cấu trúcDữ liệu cấu trúc và phi cấu tạo được đề cập qua trong bài reviews trước về NoSQL. Tài liệu có cấu trúc là tài liệu được lưu trong những hệ cai quản trị như MySQL, MS SQL server,... Các cấu tạo được chế độ sẵn ví dụ như bảng customer bao gồm các trường như thể tên, số điện thoại, ngày sinh, địa chỉ.Dữ liệu không cấu tạo là tài liệu không bắt buộc định nghĩa sẵn được tổ chức thành những documents hoàn toàn có thể ở dạng văn bảnNếu ở những cơ sở cai quản trị tài liệu gọi tầm thường SQL chỉ rất có thể bị giảm bớt bởi cú pháp của ngôn ngữ truy vấn, hoặc truy nã vấn với tài liệu tìm kiếm quá lớn khiến bị chậm.Giải quyết vấn đề trên tín đồ ta đã thành lập Lucence- Thư viện tìm kiếm bên trên toàn văn bản.

Đánh chỉ mục (Index): Đầu tiên, Lucene giúp cho bạn phân loại chỉ mục, quản lý như các Document. Vấn đề đánh chỉ mục được thực hiện qua những cách sau.

Đầu tiên, thu thập dữ liệu (Acquire content), ở đoạn này thường là crawler hoặc spider để tích lũy dữ liệu tiến công chỉ mục.Tiếp theo là bước xây dựng tài liệu (Build document). Ở công đoạn này thì dữ liệu thô các khoản thu nhập ở bên trên được chia thành các document và các trường text, dẫu vậy các search engine vẫn chưa đánh chỉ mục luôn luôn được mà cần phải chuyển sang phân tích tài liệu.Phân tích tài liệu (Analyze document): Ở đây text được chia nhỏ thành những token, mỗi token được hiểu là 1 từ trong tài liệu. Document được xác minh bởi dãy những tokenBước ở đầu cuối là tấn công chỉ mục. Lucene cung cấp API không thiếu thốn cho câu hỏi đánh chỉ mục trở nên tiện lợi hơn.

Truy vấn (query): Khi người sử dụng gửi lên 1 submit thì hệ thống search engine phải phân tích thành câu query cho hệ thống hoàn toàn có thể hiểu, bước này gọi là (Build query). Lucene cung ứng gói QueryParser để phát triển thành câu tróc nã vấn của người tiêu dùng thành câu query của hệ thống.Truy vấn hoàn toàn có thể là các toán tử boolean hoặc các phép toán liên quan, hoặc tổng hợp, phân tích,...

Xem thêm: Hướng Dẫn Nhận Quà Boom Online Hoàn Toàn Miễn Phí 100, Boom Online

Tìm tìm (search): Là quá trình tra cứu và tìm ra kết quả phù hợp với câu truy hỏi vấn của người sử dụng và chỉ dẫn kết quả. Ở phía trên thường query theo 3 mô hình: mô hình toán tử Boolean, quy mô vector, mô hình xác suất. Những mô hình này đã được ra mắt trong bài bác truy vấn tin tức (IR).

Display: Render các công dụng tìm kiếm sắp xếp theo vật dụng tự phù hợp và hiển thị cho tất cả những người sử dụng. Ở đây, dứt một phiên kiếm tìm kiếm.

3. Những thắc mắc thường gặp

- Lucene không giống gì kiếm tìm kiếm toàn văn phiên bản của Mysql cùng MS SQL Server?

Lucene rất có thể tìm kiếm không chỉ là với đông đảo DB có ngôn từ SQL, mà không hề ít văn bản được viết bằng ngôn từ khác.Lucene còn không ngừng mở rộng các thành phần hiện tại có cân xứng với tìm kiếm của fan sử dụng.

-Lucene tất cả mạnh bằng Google tra cứu kiếm không?

Câu vấn đáp là không. Google tìm kiếm kiếm là một khối hệ thống tìm kiếm tìm kiếm engine tinh vi hơn tương đối nhiều còn Lucene chỉ với thư viện cung cấp tìm tìm thôi4. Hạng mục tham khảo

https://lucene.apache.org/core/documentation.html