Apache Solr là gì? Apache Solrlà một nền tảng tìm kiếm cấp doanh nghiệp mã nguồn mở được viết bằng Java cho phép bạn tạo các công cụ tìm kiếm tùy chỉnh lập chỉ mục cơ sở dữ liệu, tệp và trang web. Nó có hỗ trợ phụ trợ cho Apache Lucene. Ví dụ, nó có thể được sử dụng để tìm kiếm trong nhiều trang web và có thể hiển thị các đề xuất cho nội dung được tìm kiếm. Solr sử dụng ngôn ngữ truy vấn và kết quả dựa trên XML (Ngôn ngữ đánh dấu mở rộng). Có các API (Giao diện chương trình ứng dụng) khả dụng cho Python, Ruby và JSON (Ký hiệu đối tượng Javascript).
Một số tính năng khác mà Solr cung cấp là:
Để cập nhật hệ thống của bạn, hãy thực hiện lệnh sau để cập nhật hệ thống của bạn bằng các bản vá và bản cập nhật mới nhất.
Chúng ta phải cài đặt Python Software properties để cài đặt Java 8 mới nhất. Chạy lệnh sau để cài đặt phần mềm.
Nhấn Y để tiếp tục.
Sau khi thực hiện lệnh, hãy thêm kho lưu trữ Java PPA của webupd8team vào hệ thống của bạn bằng cách chạy:
Nhấn [ENTER] khi được yêu cầu. Bây giờ, bạn có thể dễ dàng cài đặt phiên bản Java 8 mới nhất bằng apt.
Đầu tiên, hãy cập nhật danh sách gói để lấy các gói có sẵn từ PPA mới:
Sau đó, cài đặt phiên bản Oracle Java 8 mới nhất bằng lệnh này:
Nhấn Y để tiếp tục.
BẠN PHẢI đồng ý với giấy phép có sẵn tại http://java.com/license nếu bạn muốn sử dụng Oracle JDK, nhấp vào nút OK.
Gói cài đặt một loại trình cài đặt siêu dữ liệu sau đó tải xuống các tệp nhị phân trực tiếp từ Oracle. Sau quá trình cài đặt, hãy kiểm tra phiên bản Java đã cài đặt bằng cách chạy lệnh sau
Bây giờ bạn đã cài đặt Java 8 và chúng ta sẽ chuyển sang bước tiếp theo.
Chúng ta sẽ bắt đầu bằng cách tải xuống bản phân phối Solr. Trước tiên, hãy tìm phiên bản mới nhất của gói có sẵn từ trang web của họ, sao chép liên kết và tải xuống bằng lệnh wget
Đối với thiết lập này, chúng tôi sẽ sử dụng http://www.us.apache.org/dist/lucene/solr/6.0.1/
Bây giờ, hãy chạy lệnh bên dưới để giải nén tệp cài đặt dịch vụ:
Và cài đặt Solr dưới dạng dịch vụ bằng cách sử dụng tập lệnh:
Đầu ra sẽ tương tự như sau:
Sử dụng lệnh này để kiểm tra trạng thái của dịch vụ
Bạn sẽ thấy đầu ra bắt đầu bằng lệnh sau:
Thư mục cốt lõi mới cho bộ sưu tập đầu tiên của chúng tôi đã được tạo. Để xem tệp lược đồ mặc định, hãy truy cập:
Ví dụ:
Để xem thông tin chi tiết về bộ sưu tập đầu tiên mà chúng ta đã tạo trước đó, hãy chọn bộ sưu tập "gettingstarted" trong menu bên trái.
Sau khi bạn đã chọn Bộ sưu tập "gettingstarted", hãy chọn Documentstrong menu bên trái. Tại đó, bạn có thể nhập dữ liệu thực tế ở định dạng JSON mà Solr có thể tìm kiếm được. Để thêm dữ liệu, hãy sao chép và dán ví dụ JSON sau vào trường Tài liệu:
Nhấp vào nút gửi tài liệu sau khi thêm dữ liệu.
Bây giờ chúng ta có thể nhấp vàoTruy vấnở bên trái, sau đónhấp vào Thực thi Truy vấn,
Chúng ta sẽ thấy nội dung tương tự như thế này:
Đăng nhập SSH / Shell
Tên người dùng: administrator
Mật khẩu: howtoforge
Người dùng này có quyền sudo.
Vui lòng thay đổi tất cả các mật khẩu trên để bảo mật máy ảo.
Một số tính năng khác mà Solr cung cấp là:
- Tìm kiếm toàn văn.
- Tạo và tô sáng đoạn trích.
- Sắp xếp/xếp hạng tài liệu tùy chỉnh.
- Gợi ý chính tả.
Cập nhật Hệ thống của bạn
Sử dụng người dùng sudo không phải root để đăng nhập vào máy chủ Ubuntu của bạn. Thông qua người dùng này, bạn sẽ phải thực hiện tất cả các bước và sử dụng Solr sau.Để cập nhật hệ thống của bạn, hãy thực hiện lệnh sau để cập nhật hệ thống của bạn bằng các bản vá và bản cập nhật mới nhất.
Mã:
sudo apt-get update && apt-get upgrade -y
Thiết lập Java Runtime Environment
Solr là một ứng dụng Java, do đó, trước tiên cần cài đặt Java runtime environment để thiết lập Solr.Chúng ta phải cài đặt Python Software properties để cài đặt Java 8 mới nhất. Chạy lệnh sau để cài đặt phần mềm.
Mã:
root@server1:~# sudo apt-get install python-software-properties
Đang đọc danh sách gói... Xong
Đang xây dựng cây phụ thuộc
Đang đọc thông tin trạng thái... Xong
Các gói bổ sung sau sẽ được cài đặt:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python2.7 python2.7-minimal
Các gói được đề xuất:
python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev
python-pycurl-dbg python-pycurl-doc python2.7-doc binutils binfmt-support
Các gói MỚI sau đây sẽ được cài đặt:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python-software-properties python2.7
python2.7-minimal
0 đã nâng cấp, 10 mới cài đặt, 0 cần xóa và 3 chưa nâng cấp.
Cần tải 4.070 kB tệp lưu trữ.
Sau thao tác này, 17,3 MB dung lượng đĩa bổ sung sẽ được sử dụng.
Bạn có muốn tiếp tục không? [Y/n]
Sau khi thực hiện lệnh, hãy thêm kho lưu trữ Java PPA của webupd8team vào hệ thống của bạn bằng cách chạy:
Mã:
sudo add-apt-repository ppa:webupd8team/java
Đầu tiên, hãy cập nhật danh sách gói để lấy các gói có sẵn từ PPA mới:
Mã:
sudo apt-get update
Sau đó, cài đặt phiên bản Oracle Java 8 mới nhất bằng lệnh này:
Mã:
sudo apt-get install oracle-java8-installer
Mã:
root@server1:~# sudo apt-get install oracle-java8-installer
Đang đọc danh sách gói... Xong
Đang xây dựng cây phụ thuộc
Đang đọc thông tin trạng thái... Xong
Các gói bổ sung sau sẽ được cài đặt:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils
Các gói được đề xuất:
binutils-doc binfmt-support visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming firefox
| firefox-2 | iceweasel | mozilla-firefox | iceape-browser | mozilla-browser | epiphany-gecko | epiphany-webkit | epiphany-browser | galeon | midbrowser | moblin-web-browser | xulrunner
| xulrunner-1.9 | konqueror | chromium-browser | midori | google-chrome
Các gói MỚI sau đây sẽ được cài đặt:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer x11-common xfonts-encodings xfonts-utils
0 đã nâng cấp, 10 mới cài đặt, 0 cần xóa và 3 chưa nâng cấp.
Cần tải 6.498 kB tệp lưu trữ.
Sau thao tác này, sẽ sử dụng thêm 20,5 MB dung lượng đĩa.
Bạn có muốn tiếp tục không? [Y/n]
BẠN PHẢI đồng ý với giấy phép có sẵn tại http://java.com/license nếu bạn muốn sử dụng Oracle JDK, nhấp vào nút OK.
Gói cài đặt một loại trình cài đặt siêu dữ liệu sau đó tải xuống các tệp nhị phân trực tiếp từ Oracle. Sau quá trình cài đặt, hãy kiểm tra phiên bản Java đã cài đặt bằng cách chạy lệnh sau
Mã:
java -version
Mã:
java version "1.8.0_91"
Java(TM) SE Runtime Environment (bản dựng 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (bản dựng 25.91-b14, chế độ hỗn hợp)
Cài đặt ứng dụng Solr
Solr có thể được cài đặt trên Ubuntu theo nhiều cách khác nhau, trong bài viết này, tôi sẽ chỉ cho bạn cách cài đặt gói mới nhất từ nguồn.Chúng ta sẽ bắt đầu bằng cách tải xuống bản phân phối Solr. Trước tiên, hãy tìm phiên bản mới nhất của gói có sẵn từ trang web của họ, sao chép liên kết và tải xuống bằng lệnh wget
Đối với thiết lập này, chúng tôi sẽ sử dụng http://www.us.apache.org/dist/lucene/solr/6.0.1/
Mã:
cd /tmp
wgethttp://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Mã:
root@server1:/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06-03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Đang giải quyết www.us.apache.org (www.us.apache.org)... 140.211.11.105
Đang kết nối tới www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi... 200 OK
Độ dài: 137924507 (132M) [application/x-gzip]
Đang lưu vào: ‘solr-6.0.1.tgz’
Mã:
tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2
Mã:
sudo ./install_solr_service.sh solr-6.0.1.tgz
Mã:
root@server1:/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id: ‘solr’: không có người dùng nào như vậy
Đang tạo người dùng mới: solr
Đang thêm người dùng hệ thống `solr' (UID 111) ...
Đang thêm nhóm mới `solr' (GID 117) ...
Đang thêm người dùng mới `solr' (UID 111) với nhóm `solr' ...
Đang tạo thư mục gốc `/var/solr' ...
Đang trích xuất solr-6.0.1.tgz vào /opt
Đang cài đặt liên kết tượng trưng /opt/solr -> /opt/solr-6.0.1 ...
Đang cài đặt tập lệnh /etc/init.d/solr ...
Đang cài đặt /etc/default/solr.in.sh ...
? solr.service - LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ
Đã tải: đã tải (/etc/init.d/solr; lỗi; cài đặt trước của nhà cung cấp: đã bật)
Đang hoạt động: đang hoạt động (đã thoát) kể từ Thứ sáu 2016-06-03 11:37:05 CEST; 5 giây trước
Tài liệu: man:systemd-sysv-generator(8)
Tiến trình: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
03/06 11:36:43 server1 systemd[1]: Đang khởi động LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ...
03/06 11:36:44 server1 su[20934]: Đã su thành công cho solr bằng root
03/06 11:36:44 server1 su[20934]: + ??? root:solr
03/06 11:36:44 server1 su[20934]: pam_unix(su:session): phiên được mở cho người dùng solr bởi (uid=0)
03/06 11:37:05 server1 solr[20929]: [313B dữ liệu blob]
03/06 11:37:05 server1 solr[20929]: Đã khởi động máy chủ Solr trên cổng 8983 (pid=20989). Chúc bạn tìm kiếm vui vẻ!
03/06 11:37:05 server1 solr[20929]: [14B dữ liệu blob]
03/06 11:37:05 server1 systemd[1]: Đã khởi động LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ.
Dịch vụ solr đã được cài đặt.
Mã:
trạng thái dịch vụ solr
Mã:
root@server1:/tmp# trạng thái dịch vụ solr
? solr.service - LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ
Đã tải: đã tải (/etc/init.d/solr; không hợp lệ; cài đặt trước của nhà cung cấp: đã bật)
Đang hoạt động: đang hoạt động (đã thoát) kể từ Thứ sáu 2016-06-03 11:37:05 CEST; 39 giây trước
Tài liệu: man:systemd-sysv-generator(8)
Tiến trình: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
03/06 11:36:43 server1 systemd[1]: Đang khởi động LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ...
03/06 11:36:44 server1 su[20934]: Đã su thành công cho solr bằng root
03/06 11:36:44 server1 su[20934]: + ??? root:solr
03/06 11:36:44 server1 su[20934]: pam_unix(su:session): phiên được mở cho người dùng solr bởi (uid=0)
03/06 11:37:05 server1 solr[20929]: [313B dữ liệu blob]
03/06 11:37:05 server1 solr[20929]: Đã khởi động máy chủ Solr trên cổng 8983 (pid=20989). Chúc bạn tìm kiếm vui vẻ!
03/06 11:37:05 server1 solr[20929]: [14B blob data]
03/06 11:37:05 server1 systemd[1]: Đã bắt đầu LSB: Kiểm soát Apache Solr dưới dạng Dịch vụ.
Tạo bộ sưu tập tìm kiếm Solr:
Sử dụng Solr, chúng ta có thể tạo nhiều bộ sưu tập. Chạy lệnh đã cho, đề cập đến tên của bộ sưu tập (ở đây là gettingstart) và chỉ định cấu hình của nó.
Mã:
sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
Mã:
root@server1:/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
Đang sao chép cấu hình vào thư mục phiên bản lõi mới:
/var/solr/data/gettingstarted
Đang tạo lõi mới 'gettingstarted' bằng lệnh:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted
{
"responseHeader":{
"status":0,
"QTime":4427},
"core":"gettingstarted"}
Mã:
/opt/solr/server/solr/configsets/data_driven_schema_configs/conf
Sử dụng Giao diện web Solr
Apache Solr hiện có thể truy cập được trên cổng mặc định là 8983. Giao diện người dùng quản trị có thể truy cập được tại http://your_server_ip:8983/solr.Tường lửa của bạn phải cho phép cổng này chạy các liên kết.Ví dụ:
Mã:
http://192.168.1.100:8983/solr/
Để xem thông tin chi tiết về bộ sưu tập đầu tiên mà chúng ta đã tạo trước đó, hãy chọn bộ sưu tập "gettingstarted" trong menu bên trái.
Sau khi bạn đã chọn Bộ sưu tập "gettingstarted", hãy chọn Documentstrong menu bên trái. Tại đó, bạn có thể nhập dữ liệu thực tế ở định dạng JSON mà Solr có thể tìm kiếm được. Để thêm dữ liệu, hãy sao chép và dán ví dụ JSON sau vào trường Tài liệu:
Mã:
{
"id": 1,
"book_title": "Cuốn sách đầu tiên của tôi",
"published": 1985,
"description": "Tất cả về Linux"
}
Mã:
Trạng thái: thành công
Phản hồi:
{
"responseHeader": {
"status": 0,
"QTime": 189
}
}
Chúng ta sẽ thấy nội dung tương tự như thế này:
Mã:
{ "responseHeader":{ "trạng thái":0, "QTime":24, "tham số":{ "q":"*:*", "thụt lề":"on", "wt":"json", "_":"1464947017056"}}, "phản hồi":{"numFound":1,"bắt đầu":0,"tài liệu":[ { "id":"1", "tiêu đề sách":["Cuốn sách đầu tiên của tôi"], "đã xuất bản":[1985], "mô tả":["Tất cả về Linux"], "_version_":1536108205792296960}] }}
Tải xuống hình ảnh máy ảo của hướng dẫn này
Hướng dẫn này có sẵn dưới dạng hình ảnh máy ảo đã sẵn sàng sử dụng ở định dạng ovf/ova dành cho Người đăng ký Howtoforge. Định dạng VM tương thích với VMWare và Virtualbox. Hình ảnh máy ảo sử dụng các thông tin đăng nhập sau:Đăng nhập SSH / Shell
Tên người dùng: administrator
Mật khẩu: howtoforge
Người dùng này có quyền sudo.
Vui lòng thay đổi tất cả các mật khẩu trên để bảo mật máy ảo.