Hướng dẫn về Apache Solr: Solr là gì? Archikiến trúc và lắp đặt
Apache Solr là gì?
Solr Apache là một nền tảng máy chủ tìm kiếm nguồn mở được viết bằng Java ngôn ngữ của nền tảng phần mềm Apache. Nó có khả năng mở rộng cao và sẵn sàng triển khai công cụ tìm kiếm để xử lý khối lượng lớn dữ liệu tập trung vào văn bản. Mục đích của việc sử dụng Apache Solr là lập chỉ mục và tìm kiếm lượng lớn nội dung web và cung cấp nội dung có liên quan dựa trên truy vấn tìm kiếm.
Apache Solr là trình bao bọc HTTP dựa trên REST-API xung quanh công cụ tìm kiếm toàn văn bản có tên Apache Lucene. Chỉ mục đảo ngược là danh sách các từ trong đó mỗi mục nhập từ liên kết đến tài liệu được lưu trữ trong đó. Bằng cách đó, lấy tất cả tài liệu cho truy vấn tìm kiếm “guru99” bằng thao tác 'get' đơn giản.
Lịch sử của Apache Solr
- 1999: Doug Cut xuất bản Lucene
- 2004: Solr được phát triển tại CNET bởi Yonik Seeley như một dự án nội bộ của công ty
- 2006: CNET xuất bản mã nguồn bằng cách tặng nó cho Phần mềm Apache Foundation
- 2008: Solr 1.3 được phát hành với khả năng tìm kiếm nâng cao và cải tiến hiệu suất
- 2010: Sáp nhập Lucene và Solr
- 2012: Solr phiên bản 4.0 được phát hành, với tính năng Solr Cloud mới
- 2016: Solr 6.0, được phát hành, hỗ trợ thực hiện các truy vấn SQL song song
Các tính năng của Apache Solr
Dưới đây là các tính năng quan trọng của Apache Solr:
- Cân bằng tải tự động
- Giao diện mở dựa trên tiêu chuẩn - XML, JSON và HTTP
- Khuyến nghị & Đề xuất chính tả được hỗ trợ
- Hỗ trợ Tự động hoàn thành và Tìm kiếm không gian địa lý
- Bảo mật tích hợp để xác thực và ủy quyền
- Cho phép bạn thực hiện tìm kiếm từ khóa đa ngôn ngữ
- Dự đoán tự động hoàn thành/gõ trước
- Xử lý hàng loạt và truyền phát
- Xây dựng mô hình học máy thật dễ dàng
- Được tối ưu hóa đặc biệt cho lưu lượng truy cập web lớn
- Giao diện ngưỡng mộ HTML toàn diện
- Hỗ trợ cả cấu hình Schema và Schemaless
- Tìm kiếm và lọc theo khía cạnh
- Cấu hình trung tâm cho toàn bộ Cluster
Các thuật ngữ chính được sử dụng trong Apache Solr
Bây giờ trong hướng dẫn về công cụ tìm kiếm Solr này, chúng ta sẽ tìm hiểu về các thuật ngữ chính được sử dụng trong Apache Solr:
thuật ngữ chính | Mô tả |
---|---|
lõi Solr | Solr Core có thể được định nghĩa là một chỉ mục của văn bản và trường có nguồn gốc từ tất cả các tài liệu. Một phiên bản Solr có thể có một hoặc nhiều lõi Solr.
Core = một phiên bản của cấu hình Lucene Index + Solr |
Ví dụ Solr | Solr Instance là một phiên bản Solr chạy trong Java Máy ảo (JVM). Ở chế độ Độc lập, nó chỉ cung cấp một phiên bản trong khi ở chế độ đám mây, bạn có thể có một hoặc nhiều phiên bản. |
Lập chỉ mục | Lập chỉ mục là một phương pháp để thêm nội dung của tài liệu vào Solr Index. Apache Solr sử dụng kỹ thuật Apache Lucene Inverted Index. |
Tài liệu | Đó là một nhóm các trường và giá trị của chúng. Tài liệu là một đơn vị dữ liệu cơ bản được lưu trữ trong Apache Core. Một lõi Apache có thể chứa một hoặc nhiều Tài liệu. |
Phần | Trường này là cặp khóa-giá trị lưu trữ dữ liệu thực tế trong Tài liệu. Khóa chỉ định tên trường và giá trị chứa dữ liệu Trường đó. Một tài liệu có thể có một hoặc nhiều trường. Nó được Apache Solr sử dụng để lập chỉ mục nội dung tài liệu. |
API an toàn | Để giao tiếp với Solr, không cần thiết phải sử dụng Java lập trình. Thay vào đó, Apache Solr cung cấp dịch vụ thư giãn để giao tiếp với nó. Bạn có thể gửi tài liệu và nhận kết quả ở nhiều định dạng tệp khác nhau như JSON, XML và CSV. |
Tìm kiếm toàn văn bản | Solr cung cấp các tính năng để tìm kiếm toàn văn bản như mã thông báo, cụm từ, kiểm tra chính tả, tự động hoàn thành, ký tự đại diện, v.v. |
Giao diện quản trị viên | Solr cung cấp giao diện người dùng dễ sử dụng, thân thiện với người dùng, được hỗ trợ nhiều tính năng. Sử dụng giao diện bạn có thể thực hiện các tác vụ như quản lý nhật ký, thêm, xóa, cập nhật và tìm kiếm tài liệu. |
Tập trung vào văn bản và sắp xếp theo mức độ liên quan | Apache Solr được sử dụng để tìm kiếm tài liệu văn bản và kết quả được cung cấp theo truy vấn của người dùng. |
Node | Trong đám mây Solr, mọi phiên bản đều được gọi là nút. |
Cluster | Một cụm là một tập hợp các nút. |
Bộ sưu tập | Một cụm có một chỉ mục logic còn được gọi là bộ sưu tập. |
Mảnh vỡ | Đây là một khu vực nhỏ của bộ sưu tập cung cấp một hoặc nhiều bản sao của chỉ mục. |
Replica | Bản sao là bản sao của phân đoạn chạy trong nút. |
Lãnh đạo | Nó là bản sao của phân đoạn, gửi yêu cầu của Đám mây Solr cho các bản sao còn lại. |
Solr Apache Archikiến trúc
Bây giờ trong hướng dẫn tìm kiếm Solr này, chúng ta hãy tìm hiểu về Apache Solr Archikiến trúc:
Apache Solr thỏa hiệp các thành phần sau
Câu Hỏi
Trình phân tích cú pháp truy vấn phân tích các truy vấn mà bạn cần chuyển tới Solr. Nó xác minh truy vấn của bạn để kiểm tra lỗi cú pháp. Sau khi phân tích cú pháp các truy vấn, nó sẽ chuyển sang định dạng mà Lucene biết.
Trình xử lý yêu cầu
Yêu cầu gửi tới Apache Solr được xử lý bởi trình xử lý yêu cầu. Yêu cầu có thể là yêu cầu truy vấn hoặc yêu cầu cập nhật chỉ mục. Bạn cần chọn trình xử lý yêu cầu theo yêu cầu của bạn. Để chuyển yêu cầu tới Solr, bạn cần ánh xạ trình xử lý tới một điểm cuối URL cụ thể.
Người viết phản hồi
Trình soạn thảo phản hồi sẽ tạo kết quả đầu ra được định dạng cho các truy vấn đầu vào. Nó hỗ trợ các định dạng khác nhau như XML, JSON, CSV.etc. Bạn có thể có những người viết phản hồi khác nhau cho các loại yêu cầu khác nhau.
Trình xử lý cập nhật
Khi bạn gửi yêu cầu cập nhật tới Apache Solr, nó sẽ được chạy thông qua một bộ plugin, chữ ký, ghi nhật ký, lập chỉ mục. Quá trình này được gọi là bộ xử lý yêu cầu cập nhật. Trình xử lý cập nhật cũng chịu trách nhiệm sửa đổi như thêm hoặc xóa tệp, v.v.
Ứng dụng Apache Solr
Các Ứng Dụng | Sử dụng |
---|---|
Cổng thông tin mạng nội bộ |
|
Khách hàng liên kết |
|
Bộ dữ liệu công cụ |
|
Văn bản quy định |
|
Được nhúng trong ứng dụng PLM |
|
Làm cách nào để cài đặt Apache Solr?
Bước 1) Mở trang web và tiếp tục đăng ký
Đi đến đây liên kết này, Nhấp vào “Tiếp tục đăng ký”.
Bước 2) Bấm vào Chấp nhận điều khoản
Trên trang tiếp theo, nhấp vào Chấp nhận điều khoản.
Bước 3) Đợi một thời gian
Tiếp theo, hãy đợi một lúc và sau đó, Yêu cầu sẽ được chấp nhận sau một thời gian.
Bước 4) Tiếp tục đến cấu hình
Làm mới trang và nhấp vào “Tiếp tục cấu hình”
Bước 5) Tiếp tục khởi chạy
Giữ cài đặt mặc định và nhấp vào “Tiếp tục khởi chạy”.
Bước 6) Giữ cài đặt mặc định
Trên trang tiếp theo, Giữ cài đặt mặc định
- Đảm bảo bạn có tệp pem của khóa
- Nhấp vào “Khởi chạy”
Bạn sẽ thấy thông báo thành công này
Bước 7) Lưu ý DNS công cộng
Trong bảng điều khiển EC2, Lưu ý DNS công khai của phiên bản của bạn
Bước 8) Mở URL bên dưới
Để truy cập Solr, chỉ cần sử dụng URL
http://publicdns:8983
trong trường hợp của chúng tôi nó trở thành
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Lưu ý: Nếu bạn gặp sự cố khi truy cập phiên bản, hãy thay đổi quy tắc gửi đến và gửi đi trong phiên bản của bạn để cho phép tất cả lưu lượng truy cập như trong ví dụ truy vấn Solr bên dưới:
Elaticsearch Vs. Apache Solr
Thông số | Solr Apache | Tìm kiếm đàn hồi |
---|---|---|
Thiên nhiên | Nó là một dự án mã nguồn mở. | Không phải là một dự án nguồn mở. |
Trạng thái tĩnh | Tĩnh trong shema.xml | Tĩnh trong elasticsearch.yml |
Định dạng | XML, CSV, JSON | Chỉ JSON |
Chỉ số | Có thể được tải lại trong thời gian chạy với tính năng tải lại bộ sưu tập/lõi | Được xác định trong quá trình tạo chỉ mục/loại bằng lệnh gọi REST |
Tài liệu | Nó được ghi lại đầy đủ. | Nó được ghi lại rất tệ. |
Tách mảnh | Có thể | Không thể |
Ưu điểm của Apache Solr
- Giúp bạn giảm lượng thời gian cần thiết để xác định vị trí Thông tin
- Đây là công cụ tìm kiếm nhanh, đơn giản, mạnh mẽ và linh hoạt
- Giúp bạn làm cho sản phẩm và dịch vụ của mình dễ tiếp cận hơn
- Tăng chi tiêu của khách hàng cho một ứng dụng web
- Giúp bạn cải thiện trải nghiệm người dùng trên ứng dụng web để tăng doanh thu và lợi nhuận
- Giao diện quản trị dựa trên HTML toàn diện
- Linh hoạt và thích ứng với cấu hình XML
- Plugin mở rộng Archikiến trúc
- Công cụ tìm kiếm có khả năng mở rộng cao, mạnh mẽ, có khả năng chịu lỗi
- Hỗ trợ phân phối, tạo bóng, nhân rộng, Clustering và đa nút Archikiến trúc
Nhược điểm của Apache Solr
- Đây không phải là Kho dữ liệu tuân thủ ACID
- Nó không hữu ích như một kho lưu trữ dữ liệu chính. Chỉ hữu ích như Kho dữ liệu thứ cấp
- Không cung cấp hỗ trợ cho các giao dịch và giao dịch phân phối
- Không hỗ trợ Joins và Complex Query
- Không tối ưu cho dữ liệu chuẩn hóa
Tổng kết
- Apache Solr là một mã nguồn mở API REST máy chủ tìm kiếm dựa trên
- Apache Solr được phát triển tại CNET bởi Yonik Seeley như một dự án nội bộ của công ty
- Apache Solr cung cấp các tính năng như Tự động hoàn thành và Tìm kiếm không gian địa lý
- Solr Core, Solr Instance, Lập chỉ mục, Tài liệu, API an toàn, Tìm kiếm toàn văn bản, Giao diện quản trị viên, v.v. là một số thuật ngữ chính được sử dụng trong Apache Solr
- Trình xử lý truy vấn, trình xử lý yêu cầu, trình xử lý yêu cầu và trình xử lý cập nhật là một số thành phần quan trọng của Apache Solr
- Cổng thông tin mạng nội bộ, Máy khách liên kết, Bộ dữ liệu công cụ, Tài liệu quy định, Được nhúng trong Ứng dụng PLM là những Ứng dụng Apache Solr hữu ích
- Apache Solr được ghi chép đầy đủ so với elastic search được ghi chép kém
- Ưu điểm lớn nhất của Apache Solr là nó giúp bạn giảm lượng thời gian cần thiết để định vị Thông tin
- Hạn chế chính của ứng dụng này Nó không phải là Kho dữ liệu tuân thủ ACID