Mặt tìm kiếm Apache Solr drupal lưu trữ

Lưu ý: tắm đặc biệt nhờ Doug Vann cho việc cung cấp động lực để cuối cùng gửi bài viết trên blog này!

Đầu năm 2016, khi API tìm kiếm và các module Solr liên quan đến cho Drupal 8 đang ở trong tình trạng alpha sớm, tôi đã viết bài đăng blog Thiết lập một trang tìm kiếm Apache Solr mặt trên Drupal 8 với Search API Solr và khía cạnh.

bài đó là hữu ích trong những tháng đau đớn khi Solr tìm kiếm trong Drupal 8 vẫn còn trong tình trạng rất khó khăn, nhưng rất nhiều đã thay đổi kể từ đó, và tìm kiếm Solr-có trụ sở tại Drupal 8 là một trong nhiều ổn định hơn (và dễ dàng-to- cấu hình) diễn ra ngày hôm nay, vì vậy tôi nghĩ cuối cùng tôi muốn viết một bài mới để hiển thị như thế nào đơn giản nó là để xây dựng mặt tìm kiếm Solr trong Drupal 8, gần một năm sau đó.

lưu trữ

Xây dựng một môi trường phát triển địa phương với Apache Solr

Những ngày này tôi luôn luôn xây dựng và duy trì trang web Drupal tại địa phương sử dụng Drupal VM; làm điều này cho phép tôi để thiết lập một môi trường phát triển một cách chính xác làm thế nào tôi thích nó, và làm những việc như thêm Apache Solr là tầm thường. Vì vậy, cho hướng dẫn này, tôi sẽ bắt đầu từ một hình vuông, và cho bạn thấy làm thế nào để bắt đầu với hoàn toàn không có gì, và xây dựng tìm kiếm mặt trên một trang web Drupal 8 mới, sử dụng Drupal VM và một tập tin Composer:

Tải về Drupal VM và làm theo Hướng dẫn Bắt đầu Nhanh. sau đó thêm các config.yml sau bên trong thư mục Drupal VM để đảm bảo Apache Solr được cài đặt:

Chúng ta sẽ sử dụng tích hợp Composer Drupal VM để tạo ra một trang web Drupal có một Drupal Composer dựa trên cài đặt trong đường dẫn thư mục đồng bộ hóa (theo mặc định, trong thư mục con drupal bên trong thư mục Drupal VM).

Biến drupal_composer_dependencies nói với Drupal VM để soạn nhạc đòi hỏi các module cần thiết để có được Search API Solr và khía cạnh. Các kịch bản post_provision_scripts được bao gồm với Drupal VM, và sẽ cấu hình các phiên bản của Apache Solr cài đặt với Drupal VM một cách thích hợp để sử dụng với các Search API mô-đun Solr.

Sao chép example.drupal.composer.json để drupal.composer.json. sau đó chạy lang thang lên để xây dựng môi trường phát triển địa phương và tải về tất cả các mã Drupal cần để bắt đầu với tìm kiếm.

Lưu ý: Nếu bạn đang thiết tìm kiếm trên một trang web hiện hoặc không muốn sử dụng Drupal VM, tải về và cài đặt các API Search, Search API Solr, và khía cạnh module bằng tay, và chắc chắn rằng bạn có Apache Solr chạy và một lõi tìm kiếm cấu hình với cấu hình Search API Solr mô-đun phiên bản mới nhất của.

Cài đặt các module

Nếu bạn muốn cài đặt các module thông qua giao diện người dùng của Drupal:

  1. Tới drupalvm.dev/. sau đó đăng nhập như là quản trị viên (username mặc định và mật khẩu là admin / admin).
  2. Tới trang Mở rộng (/ admin / modules), và cho phép "Search API", "khía cạnh", "Solr tìm kiếm", và "Solr Defaults tìm kiếm".
Mặt tìm kiếm Apache Solr drupal lưu trữ ít hơn

Nếu bạn muốn cài đặt các module qua Drush:

  1. Chạy drush @ drupalvm.drupalvm.dev en -y khía cạnh search_api search_api_so lr search_api_solr_defaults

Bạn cũng nên gỡ bỏ cài đặt các lõi 'Tìm kiếm' mô-đun nếu nó được cài đặt-nó không phải là cần thiết cho API Tìm kiếm hoặc khía cạnh, và sẽ tiếp tục để lưu trữ thêm rác trong cơ sở dữ liệu của trang web của bạn nếu nó được cài đặt.

Cấu hình máy chủ Solr

Truy cập vào trang cấu hình Search API, và chỉnh sửa mặc định Solr Server, làm cho những thay đổi sau:

  • Thay đổi 'Solr lõi' để collection1 (mặc định là d8).

Chú thích. Các phiên bản mới nhất của Drupal VM không còn đòi hỏi bước này, như tên mặc định Solr lõi được thiết lập để tự động D8 (xem PR này).

Tại thời điểm này, trên trang tình trạng của máy chủ (/ admin / config / tìm kiếm / tìm kiếm-api / máy chủ / default_solr_server), bạn sẽ thấy một thông báo "Máy chủ Solr có thể đạt được" và "The Solr lõi có thể được truy cập":

Một khi điều này được thực hiện, gỡ bỏ cài đặt Solr Search Defaults mô-đun (drush @ drupalvm.drupalvm.dev pmu -y search_api_solr_defaults); module này không còn cần thiết sau khi cài đặt ban đầu, như cấu hình cho máy chủ Solr của bạn bây giờ là một phần của cửa hàng cấu hình hoạt động của trang web và sẽ không bị xóa.

Cấu hình chỉ số Solr

Các Solr Search Defaults mô-đun tạo ra một chỉ mục nội dung mặc định có chứa tất cả các nút công bố trên website. Trong trường hợp của chúng tôi, có nghĩa là tất cả các trang và các Điều cơ bản sẽ được đưa vào.

Bạn không cần phải thay đổi bất cứ điều gì trong cấu hình chỉ số, nhưng nếu bạn muốn có một xô xung quanh và xem làm thế nào nó được thiết lập và những tùy chọn mà bạn có trong điều khoản của nguồn dữ liệu, lĩnh vực, hoặc bộ vi xử lý, hãy truy cập / admin / config / tìm kiếm / tìm kiếm-api / index / default_solr_index / chỉnh sửa.

Thêm nội dung mặc định (nếu bạn không có bất kỳ)

Giả sử bạn xây dựng trang web này sử dụng Drupal VM, nó có khả năng trang web này là cằn cỗi, không có nội dung nào được lập chỉ mục. Để khắc phục điều đó, bạn có thể sử dụng đồng hành tiện dụng module Devel của, Devel generate:

  1. Kích hoạt tính năng Devel generate: drush @ drupalvm.drupalvm.dev en -y devel_generate
  2. Tạo nội dung dummy: drush @ drupalvm.drupalvm.dev generate-nội dung 100
    • Lưu ý: Tại thời điểm viết bài này, lệnh Drush không dẫn đến nội dung tạo ra. Sử dụng giao diện người dùng tại / admin / config / phát triển / tạo / nội dung nếu lệnh Drush không tạo ra nội dung.

    Bây giờ bạn có một loạt các nút bạn có thể chỉ mục và tìm kiếm!

    Xác nhận Danh mục tìm kiếm đang làm việc

    Tốt nhất là để cho máy chủ sản xuất Solr bạn chờ đợi một vài phút trước khi nội dung tươi-lập chỉ mục được tạo sẵn để tìm kiếm; Bằng cách này tìm kiếm là performant hơn một chút như Solr có thể hàng loạt các hoạt động cập nhật của nó. Nhưng đối với phát triển địa phương đó là tốt đẹp để có chỉ số được up-to-date càng nhanh càng tốt cho mục đích thử nghiệm, vì vậy cấu hình Drupal VM nói với Solr để cập nhật nó là chỉ mục tìm kiếm ngay lập tức sau khi Drupal gửi bất kỳ nội dung.

    Vì vậy, nếu bạn tạo ra nội dung với Devel tạo ra, sau đó truy cập vào trang Trạng thái chỉ mục cho các chỉ mục tìm kiếm mặc định (/ admin / config / tìm kiếm / tìm kiếm-api / index / default_solr_index), bạn sẽ thấy tất cả các nội dung trên trang web được lập chỉ mục:

    Nếu bạn đang làm việc trên một trang web hiện có, hoặc nếu tất cả các nội dung chưa được lập chỉ mục cho một số lý do, bạn có thể tự chỉ mục tất cả nội dung bằng cách nhấn vào 'bây giờ Index' nút và chờ đợi cho các hoạt động để hoàn thành.

    Lưu ý rằng tốc độ lập chỉ mục có thể khác nhau tùy thuộc vào độ phức tạp của trang web của bạn. Nếu bạn có một trang web với nhiều loại nút phức tạp và hàng trăm ngàn hay hàng triệu nút, bạn sẽ cần phải sử dụng các phương pháp hiệu quả hơn cho lập chỉ mục, nếu không bạn sẽ có tháng chờ đợi cho tất cả các nội dung của bạn sẽ được tìm kiếm!

    Thực hiện một mặt Solr Kiện Tìm Kiếm Xem

    Các Solr Search Defaults mô-đun tạo ra một trang tìm kiếm ví dụ để ngắm cảnh tại trụ sở, mà bạn có thể truy cập vào / Solr tìm kiếm / nội dung. Nó nên đã được chức năng, vì nội dung của bạn được lập chỉ mục trong Solr (thử nó ra!):

    Đối với nhiều địa điểm, loại tìm kiếm trang web dựa trên từ khóa chung là tất cả những gì bạn muốn bao giờ cần. Nhưng chúng tôi sẽ làm đẹp nó lên một chút và làm cho nó thêm chức năng bằng cách thay đổi đường dẫn và thêm một loại nội dung Facet.

    Thứ nhất, biến đổi quan điểm bằng cách truy cập / admin / cấu trúc / views / xem / solr_search_content:

    1. Thay đổi Title để 'Search' (thay vì 'Tìm kiếm nội dung').
    2. Thay đổi đường dẫn đến '/ tìm kiếm' (thay vì '/ Solr tìm kiếm / nội dung').
    3. Nhấp vào 'Lưu'.

    Thứ hai, tạo ra một loại nội dung Facet bằng cách truy cập / admin / config / tìm kiếm / khía cạnh:

    1. Nhấp vào 'Thêm khía cạnh'.
    2. Chọn 'Xem Solr nội dung tìm kiếm, hiển thị trang' nguồn Facet (điều này là quan điểm bạn chỉ cần chỉnh sửa).
    3. Chọn 'loại nội dung (loại)' cho Dòng của Facet.
    4. Đặt tên cho khía cạnh 'Tìm kiếm Facet - Nội dung gõ' (điều này sẽ giúp với cách đặt một khối sau).
    5. Nhấp vào 'Lưu'.
    6. Trên trang sửa đổi Facet:
    1. Kiểm tra hộp 'Hiển thị số lượng kết quả'.
    2. Đánh dấu vào hộp kiểm 'List item nhãn' (điều này sẽ làm cho các khía cạnh show 'trang cơ bản' thay vì 'page'-nhãn thay vì tên máy cho từng hạng mục).
    3. Nhấp vào 'Lưu'.

    Các khía cạnh đã sẵn sàng để được đặt trong chủ đề của bạn vì vậy nó sẽ xuất hiện khi xem tìm kiếm được trả lại. Truy cập vào trang cấu hình bố trí Block (/ admin / cấu trúc / block), và nhấp vào 'Nơi khối' trong khu vực nơi bạn muốn khía cạnh xuất hiện. Trong chủ đề của tôi, tôi đã chọn khu vực 'Sidebar đầu tiên'.

    Tìm 'Tìm kiếm Facet - Nội dung gõ' (các Facet bạn vừa tạo) và nhấp vào 'Nơi khối'. Sau đó, đặt tiêu đề khối một cái gì đó như 'Lọc theo Type', và nhấp vào 'Save khối'. Bạn không cần phải thiết lập hạn chế tầm nhìn cụ thể cho các khối vì Facet được thiết lập để không hiển thị ở tất cả nếu có không kết quả tìm kiếm trên trang đòi hỏi nó được hiển thị.

    Nhấp vào 'Save khối' trên trang bố trí Block, và sau đó truy cập trang tìm kiếm trên cả trang web của bạn tại / tìm kiếm:

    Nếu bạn thực hiện tìm kiếm, sau đó bạn sẽ nhận thấy số lượng kết quả của khía cạnh sẽ điều chỉnh cho phù hợp:

    Tại thời điểm này, bạn nên có một tìm kiếm mặt Solr hoạt động đầy đủ trên trang web Drupal 8 của bạn. Từ đây, bạn có thể tùy chỉnh các trang tìm kiếm thêm, làm việc trên xuất ra kết quả khác nhau (có thể là một lời trêu ghẹo nội dung thay vì nội dung trả lại đầy đủ?), Và thêm nhiều khía cạnh (ngày, tác giả, thời hạn phân loại, vv) để làm cho việc tìm kiếm chính xác như bạn muốn!

    Bước tiếp theo

    Nếu nhà cung cấp hosting của bạn không cung cấp một lõi tìm kiếm Apache Solr cho trang web của bạn sử dụng, bạn có thể muốn xem xét sử dụng Hosted Apache Solr để lưu trữ lõi tìm kiếm Solr trang web của bạn; nó sử dụng một thiết lập tương tự với những gì được sử dụng trong Drupal VM, và tôi có thể xác minh cho nó, vì tôi chạy dịch vụ :)

    Lưu ý rằng các module Search API vẫn đang trong phiên bản beta như các bài viết trên blog này; chi tiết nhỏ có thể dẫn đến sự khác biệt từ các ảnh chụp màn hình và hướng dẫn ở trên.

    Cảm ơn bạn hướng dẫn toàn diện. Tôi đã làm việc theo cách của tôi thông qua nó và đã nhận được một chút bị mắc kẹt trên giản đồ. Tôi đã cài đặt lang thang, hộp ảo và có những trang web drupal và chạy với Solr. Nhưng khi tôi nhìn vào trang chủ Solr trong drupal, lược đồ của tôi là ví dụ dữ liệu-driven-schema và không phải là drupal-4.5 Solr-5.x như trong trang web của bạn. Tôi cũng có một thông báo trên trang chủ Solr tôi trong drupal nói "Bạn đang sử dụng một tập tin cấu hình schema.xml không tương thích. Hãy làm theo các hướng dẫn trong file INSTALL.txt lập Solr." Nhưng tôi không thể nhìn thấy bất kỳ tài liệu tham khảo để schema trong INSTALL.txt đề cập đến. Tôi đã cố gắng để xem nơi giản đồ được liệt kê trong tập tin cấu hình lang thang, nhưng không thể nhìn thấy bất cứ điều gì. bạn có thể hướng dẫn cho tôi đến nơi tôi phải đi thay đổi.

    Tôi đang chạy này trên một máy Windows 10. tôi đã cố gắng với Solr 5,5 như trong file lang thang của mình, và cũng đã cố gắng Solr 6.3

    Nhờ sự giúp đỡ trước.
    gh

    Đối với một theo dõi, tôi giải quyết vấn đề trên bằng cách xóa tất cả các file trong / var / Solr / data / collection1 / conf / và sao chép tất cả các file từ thư mục / var / www / drupalvm / drupal / web / modules / contrib / search_api_solr / Solr -conf / 6.x / to trước khi đề cập thư mục. Này được ám chỉ trong tập tin tại modules / contrib / search_api_solr / INSTALL.txt trong khu vực nơi họ nói về "Trước khi bắt đầu Solr". Tôi đã làm điều này sau khi bắt đầu Solr và chỉ cần làm mới.

    Xem video này!

    Những bài viết liên quan

    tìm kiếm tùy chỉnh khối drupal lưu trữĐược đăng bởi Susan Rosie Vào ngày 26 tháng năm năm 2015 2015-05-26T14: 28: 40 + 00: 00 Drupal chia một trang web trong một số khu vực, bao gồm cả sidebar, footer và header, nắm giữ khối cho một màn hình khác nhau ...
    Xem tìm kiếm mô-đun drupal lưu trữXin chào, và chào mừng đến DrupalModules.com, một đánh giá và đánh giá dịch vụ cộng đồng-powered dành riêng để giúp bạn tìm thấy những module Drupal tốt nhất cho dự án của bạn! Cần giúp đỡ tìm Drupal đúng ...
    Lĩnh vực cụ drupal lưu trữGiới thiệu An thực hiện một tìm kiếm hiệu quả là một trong những nhiệm vụ khó khăn nhất trong sự phát triển, nhưng nó cũng là một chìa khóa để thành công của nhiều trang web và các ứng dụng. Một tìm kiếm nhanh chóng và ...
    Drupal lưu trữ với sslHTTPS là một giao thức mã hóa các yêu cầu HTTP và phản ứng của họ. Điều này đảm bảo rằng nếu một người nào đó đã có thể xâm nhập vào mạng giữa máy tính của bạn và máy chủ bạn đang yêu cầu ...
    Tim Millwood drupal lưu trữđường cong học tập của nó là khét tiếng nhưng Tim Millwood lập luận rằng Drupal mà không phải là đáng sợ, và chứng minh làm thế nào bạn có thể sử dụng nó để xây dựng một kiến ​​thức bảng công việc cần thiết. phát triển web cơ bản và ...