Tìm kiếm nhanh hơn ba lần: tìm kiếm nhiều truy vấn và tìm kiếm theo khía cạnh. Tự động sắp xếp kết quả tìm kiếm theo mức độ phù hợp với truy vấn của bạn. Hiển thị cấp độ cuối cùng của phân loại phân cấp trong nhiều mặt

Phần thưởng API khía cạnh cho Drupal 7 là tập hợp các plugin và API khía cạnh bổ sung chức năng, chủ yếu là các plugin lọc và phụ thuộc - và là nơi lưu trữ nhiều nhất tiện ích mở rộng bổ sung API khía cạnh.

Phần thưởng API Facet hiện tại bao gồm:

Sự phụ thuộc khía cạnh: plugin phụ thuộc để tạo một khía cạnh (ví dụ: "danh mục sản phẩm") hiển thị tùy thuộc vào các khía cạnh khác hoặc các mục hoạt động theo khía cạnh cụ thể (ví dụ: "loại nội dung" là "sản phẩm" hoặc "dịch vụ"). Rất linh hoạt, hỗ trợ nhiều mặt, cho cả các phần phụ thuộc biểu hiện thông thườngđể xác định các phần phụ thuộc của một mục khía cạnh, cũng như tham số về cách xử lý nếu phần phụ thuộc bị mất.

"Loại trừ các mục": Plugin bộ lọc để loại trừ các mục nhất định theo đánh dấu/tên hoặc giá trị nội bộ của chúng (ví dụ: loại trừ "trang" khỏi "loại nội dung") cũng có thể sử dụng biểu thức thông thường.

(Còn tiếp...)

Cách hiển thị tìm kiếm theo khía cạnh trên các trang không có khía cạnh

Đôi khi trong quá trình phát triển một trang web, cần phải hiển thị các khía cạnh tìm kiếm trên các trang không có khía cạnh. Ví dụ: bạn muốn các danh mục phổ biến nhất được hiển thị trên trang chủ, cùng với các bộ đếm tương ứng. Khi khách truy cập trang web nhấp vào một danh mục, anh ta sẽ được chuyển hướng đến tìm kiếm trang web, với danh mục được nhấp vào sẽ được chọn trong các khía cạnh.

Để thực hiện tất cả điều này, có một khối hiển thị Các khía cạnh được cung cấp bởi mô-đun con search_api_facetapi

Với nó, bạn có thể dễ dàng sử dụng các liên kết nhiều mặt cho bất kỳ tìm kiếm nào trên bất kỳ trang nào bạn muốn. Với mục đích này, có hai lựa chọn:

Hiển thị các khía cạnh trực tiếp trong khối xem

Cần phải tạo một chế độ xem mới dựa trên chỉ mục tìm kiếm, mà bạn muốn sử dụng hoặc thay đổi chế độ xem cũ. Thêm loại hiển thị "Khối khía cạnh" để xem và định cấu hình "Trường khía cạnh" và "Đường dẫn trang tìm kiếm" trong "Thiết lập khối".

Các khía cạnh sẽ không được xuất ra xem trước, vì vậy, để kiểm tra chế độ xem của bạn, hãy bật khối khía cạnh chế độ xem mới bằng cách đi tới Quản trị > Cấu trúc > Khối, như bạn thường làm với tất cả các khối khác. Định cấu hình khối để nó xuất hiện trên các trang mà bạn cần hiển thị nó.

Thiết lập bất kỳ bộ lọc (theo ngữ cảnh) nào mà bạn muốn áp dụng cho kết quả được sử dụng cho các liên kết thuộc tính (ví dụ: chỉ xem xét các danh mục cho các nút đã xuất bản của một loại nội dung nhất định). Các bộ lọc tiếp xúc được bỏ qua. Cài đặt định dạng và lề bị bỏ qua nhưng bạn cũng có thể thay đổi cài đặt bằng cách nhấp vào "Khác".

Một danh sách các liên kết nhiều mặt sẽ được hiển thị trên các trang đã được chỉ định.

Tuy nhiên, có một số hạn chế đối với tùy chọn này:

Các liên kết nhiều mặt sẽ luôn được định dạng dưới dạng danh sách; sẽ không thể ghi đè hoặc định dạng vùng chọn.
Đặc biệt, cũng không thể sử dụng các tiện ích API Facet thông thường cho các khía cạnh này. Điều này là do nó khá khó để đạt được tái sử dụng Các thành phần API khía cạnh bên ngoài API khía cạnh.
Nếu bạn muốn hiển thị các thuộc tính cho nhiều trường, bạn phải thêm các hiển thị _view bổ sung cho khối thuộc tính và mỗi thuộc tính sẽ thực hiện một truy vấn tìm kiếm riêng khi được hiển thị.

Để giải quyết những thiếu sót này, có một lựa chọn thứ hai:

Bạn cũng có thể chỉ cần sử dụng hiển thị khối khía cạnh để thực hiện tìm kiếm, sau đó sử dụng API Facet thông thường cho các khối khía cạnh để hiển thị các khía cạnh trong đó. Để thực hiện việc này, hãy tạo hiển thị khối khía cạnh như trước nhưng đặt tùy chọn "Ẩn khối" trong cài đặt khối. Bằng cách này, trên các trang có khối xuất hiện, truy vấn tìm kiếm sẽ được thực thi nhưng khối sẽ bị ẩn.

Bây giờ bạn có thể tạo các khối khía cạnh cho tìm kiếm này như bình thường, trong trang chỉ mục trong tab Khía cạnh. Bạn chỉ cần đảm bảo rằng khía cạnh đang hoạt động để hiển thị khối khía cạnh (thông thường ID sẽ là search_api_views: -facets_block) trong "Hiển thị cho tìm kiếm"/"ID tìm kiếm". tùy chọn thông thường API Facet có thể được sử dụng để xác định giao diện và hành vi của các khối khía cạnh được hiển thị. Các khía cạnh trong các khối này sẽ tự động sử dụng đường dẫn được cung cấp trong các khối khía cạnh chế độ xem trong cài đặt "Đường dẫn trang tìm kiếm".

Tuy nhiên, cũng có một số vấn đề với cách tiếp cận này: Thứ nhất, hiện tại không thể suy ra cùng một khía cạnh trong hai Những nơi khác nhau(#1411160: Cho phép một mặt xuất hiện nhiều lần trong cùng một hình cầu). Do đó, danh sách các khía cạnh trên trang chính phải ở cùng khu vực và vị trí để tìm kiếm và có kiểu dáng giống nhau. Thực hiện theo cách này (bằng cách sao chép khối mặt hoặc bằng cách thay đổi màn hình để di chuyển khối) hiện vẫn yêu cầu mã hóa (trừ khi bạn sử dụng bảng (hoặc thứ gì đó tương tự) để hiển thị các khối).

Vấn đề thứ hai giống như được mô tả trong Câu hỏi thường gặp về API tìm kiếm - để các khối thuộc tính hoạt động, bạn phải đảm bảo rằng chế độ xem được thực thi trước khi các khối được hiển thị. Tuy nhiên, vì bạn có thể đặt khối xem ở bất kỳ khu vực nào (vì nó sẽ không được hiển thị), nên điều này không quá nhiều Vấn đề lớnđể tìm ra vị trí mà tại đó yêu cầu này được coi là đã được đáp ứng.

Thêm khối khía cạnh vào bảng điều khiển

Tại sao mọi thứ được mô tả ở trên về các khía cạnh, tìm kiếm khía cạnh và khối khía cạnh có thể không hoạt động?

Hóa ra là khi các khối khía cạnh được ẩn và đặt trong cùng một vùng, chúng cũng phải được đặt ở vị trí cao hơn các bộ lọc khía cạnh được hiển thị trong cùng một vùng. Nếu các khối thấp hơn thì không có gì hoạt động. Ngay khi bạn di chuyển các khối khía cạnh phía trên bộ lọc và ẩn chúng, các bộ lọc khía cạnh sẽ bắt đầu xuất hiện trên tất cả các trang.

Hiển thị cấp độ cuối cùng của phân loại phân cấp trong nhiều mặt

Một tính năng hữu ích sẽ tự động phân chia từ điển phân cấp, sau đó mỗi cấp độ sẽ nhận được khối khía cạnh và nhãn tùy chỉnh riêng. Có vẻ như mô-đun này đã có tùy chọn để viết lại một khía cạnh. Vì vậy, chúng ta đã đi được nửa chặng đường rồi. Việc tạo một khối khía cạnh cho mỗi cấp độ sẽ khó đến mức nào?

Tùy chọn này sẽ đặc biệt hữu ích cho các danh mục sản phẩm mà thuật ngữ có thể có nhiều gốc, chẳng hạn như “kích thước” hoặc “màu sắc”. Nếu chúng được hiển thị trong các khối riêng biệt, người dùng sẽ thấy rõ hơn nhiều về cách điều hướng các khía cạnh thay vì điều hướng một cây khía cạnh khổng lồ nơi các thuật ngữ được hiển thị nhiều lần...

Xhit thông tin hữu ích về tất cả những điều này ở đây

Bản dịch được dựa trên các trang sau.

Chúng tôi đã phát hành sách mới“Tiếp thị nội dung ở trong mạng xã hội: Cách đi sâu vào tâm trí người đăng ký và khiến họ yêu thích thương hiệu của bạn.”

Đặt mua

Điều hướng theo khía cạnh là một vấn đề đối với tất cả các trang web thương mại điện tử. Số lượng trang quá lớn được sử dụng cho các lựa chọn khác nhau của cùng một phần tử gây ra mối đe dọa cho hiệu quả tìm kiếm. Điều này có thể tác động tiêu cực đến SEO và Kinh nghiệm người dùng. Các chuyên gia từ blog SEO Hacker đã giải thích điều hướng theo khía cạnh là gì và cách cải thiện nó.

Điều hướng theo khía cạnh: Định nghĩa

Kiểu điều hướng này thường được tìm thấy trong thanh bên của trang web. thương mại điện tử, chứa các bộ lọc và các khía cạnh - các tham số mà người dùng định cấu hình theo ý muốn. cho phép khách hàng của cửa hàng trực tuyến tìm kiếm sản phẩm họ muốn bằng cách sử dụng kết hợp các thuộc tính sẽ lọc sản phẩm cho đến khi người dùng tìm thấy thứ họ cần.

Các khía cạnh và bộ lọc khác nhau. Đây là sự khác biệt:

  • Các khía cạnh là các danh mục được lập chỉ mục. Chúng giúp tinh chỉnh danh sách sản phẩm và hoạt động như phần mở rộng của các danh mục cốt lõi. Các khía cạnh thêm ý nghĩa duy nhất cho mỗi lựa chọn của người dùng. Vì các khía cạnh được lập chỉ mục nên chúng phải gửi tín hiệu liên quan đến công cụ tìm kiếm, đảm bảo rằng trang chứa tất cả các thuộc tính quan trọng.

  • Bộ lọc được sử dụng để sắp xếp và tinh chỉnh các mục trong danh sách. Chúng cần thiết cho người dùng nhưng không cần thiết cho công cụ tìm kiếm. Các bộ lọc không được lập chỉ mục vì chúng không thay đổi nội dung của trang mà chỉ sắp xếp nó theo một thứ tự khác. Điều này dẫn đến nhiều URL có nội dung trùng lặp.

vấn đề tiềm ẩn

Mỗi sự kết hợp khía cạnh có thể có URL duy nhất của riêng nó. Nó có thể gây ra một số vấn đề từ góc độ SEO. Dưới đây là những cái chính:

  • Nội dung trùng lặp.
  • Lãng phí ngân sách cho việc quét.
  • Loại bỏ sự khác biệt liên kết.

Khi trang web của bạn phát triển, số lượng trang trùng lặp cũng tăng theo. Các liên kết đến có thể dẫn đến nhiều trang trùng lặp. Điều này làm giảm giá trị của các liên kết và hạn chế khả năng xếp hạng của các trang.

Khả năng ăn thịt từ khóa cũng tăng lên. Nhiều trang cố gắng xếp hạng cho cùng một từ khóa, dẫn đến thứ hạng kém nhất quán và thấp hơn. Vấn đề này có thể tránh được nếu mọi từ khóa chỉ dành cho một trang duy nhất.

Giải pháp điều hướng theo khía cạnh

Khi chọn giải pháp điều hướng theo nhiều khía cạnh, hãy xem xét mục tiêu cuối cùng của bạn: tăng số lượng trang bạn lập chỉ mục hoặc giảm số lượng trang bạn không muốn lập chỉ mục. Dưới đây là một số giải pháp có thể hữu ích cho bạn:

AJAX

Nếu bạn sử dụng AJAX, URL mới sẽ không được tạo khi người dùng nhấp vào một khía cạnh hoặc bộ lọc. Vì sẽ không có URL duy nhất cho mọi sự kết hợp khía cạnh có thể xảy ra nên vấn đề trùng lặp nội dung, ăn thịt từ khóa và lãng phí chi phí lập chỉ mục có thể được loại bỏ.

AJAX chỉ có thể phát huy tác dụng trước khi trang web thương mại điện tử ra mắt. Nó không được sử dụng để giải quyết các vấn đề về nguồn lực hiện có. Phương pháp này cũng yêu cầu một số chi phí nhất định từ phía bạn.

thẻ noindex

Thẻ noindex được sử dụng để loại trừ bot trang cụ thể từ chỉ mục. Bằng cách này, nó sẽ không hiển thị trong kết quả tìm kiếm của Google. Điều này giúp giảm lượng nội dung trùng lặp xuất hiện trong chỉ mục và kết quả tìm kiếm.

Điều này sẽ không giải quyết được vấn đề về ngân sách thu thập dữ liệu vì bot vẫn sẽ truy cập trang của bạn. Nó cũng không giúp phân phối giá trị của các liên kết.

Thuộc tính rel=canonical

Với thuộc tính này, bạn cho Google biết rằng bạn có một trang chính ưa thích để lập chỉ mục và xếp hạng và tất cả các phiên bản nội dung khác từ trang đó chỉ là bản sao không cần phải lập chỉ mục.

Sofia Ibragimova

Nhà tiếp thị nội dung

Nếu có thể truy cập cùng một trang trên trang web của bạn từ nhiều URL thì rô-bốt tìm kiếm sẽ coi mỗi URL là trang riêng. Bots sẽ quyết định rằng nội dung trên trang web của bạn không phải là duy nhất và điều này sẽ ảnh hưởng tiêu cực đến thứ hạng và làm giảm vị trí của bạn trong kết quả tìm kiếm. Để tránh điều này, hãy chỉ ra trang chuẩn chính bằng cách chèn nó vào khối HEAD trình tự sau nhân vật:

bạn có thể dùng trang chuẩn, để giải quyết vấn đề trùng lặp nội dung và link chia sẻ sẽ được gộp vào trang chính của bạn. Nhưng có khả năng các bot vẫn sẽ thu thập dữ liệu các trang trùng lặp, điều này gây lãng phí ngân sách thu thập dữ liệu.

Robots.txt

Việc chặn lập chỉ mục một số trang cho phép bạn đạt được kết quả tốt. Thật đơn giản, nhanh chóng và cách đáng tin cậy. Cách dễ nhất để thực hiện việc này là đặt tùy chọn tùy chỉnh để chỉ định tất cả các kết hợp có thể có của các khía cạnh và bộ lọc mà bạn muốn chặn. Hãy đưa nó vào cuối mỗi URL mà bạn muốn ẩn (http://địa chỉ trang đầy đủ/robots.txt) hoặc sử dụng thẻ meta Robots trong vùng HEAD của mã trang.

Khi thực hiện các thay đổi đối với URL, hãy nhớ rằng phải mất 3-4 tuần để robot nhận thấy và phản hồi những thay đổi này.

Ở đây cũng có một số vấn đề nhất định. Giá trị của các liên kết sẽ bị giới hạn và URL bị chặn có thể được lập chỉ mục do có các liên kết bên ngoài.

Bảng điều khiển tìm kiếm của Google

Cái này cách tuyệt vời tạm thời khắc phục sự cố của bạn trong khi bạn nỗ lực tạo ra một sản phẩm tốt hơn và hơn thế nữa hệ thống tiện lợi dẫn đường. Bạn có thể sử dụng bảng điều khiển Tìm kiếm của Googleđể cho công cụ tìm kiếm biết cách thu thập dữ liệu trang web của bạn.

  • Đăng nhập tài khoản bảng điều khiển và chọn phần “Thu thập thông tin”:

  • Nhấp vào nút “Thông số URL”:

  • Cho biết tác động của từng cài đặt của bạn trên trang và cách bạn muốn Google xử lý các trang đó.

Hãy nhớ rằng phương pháp này chỉ ẩn nội dung trùng lặp khỏi công cụ tìm kiếm. Robot của Google. Các trang sẽ vẫn xuất hiện trong Bing và Yahoo.

Cách cải thiện điều hướng theo khía cạnh

Hãy xem xét ngắn gọn tất cả các phương pháp cho phép bạn tạo điều hướng theo khía cạnh chính xác:

  • Sử dụng AJAX
  • Xóa hoặc ẩn liên kết đến các danh mục hoặc lọc các trang bị thiếu nội dung.
  • Cho phép lập chỉ mục các kết hợp nhất định của các khía cạnh có lưu lượng tìm kiếm cao
  • Thiết lập hệ thống phân cấp trang web thông qua vụn bánh mì trong các danh mục và tiểu thể loại.
  • Tạo các trang chuẩn (chính) cho nội dung trùng lặp.
  • Hợp nhất các thuộc tính lập chỉ mục từ các trang thành phần trong toàn bộ chuỗi bằng cách sử dụng đánh dấu trang với rel="next" và rel="prev" .

Phần kết luận

Mỗi giải pháp được đề cập đều có những ưu điểm và nhược điểm riêng. Giải pháp phổ quát không tồn tại, tất cả phụ thuộc vào đặc điểm cụ thể của doanh nghiệp bạn và trường hợp cụ thể. Điều hướng theo khía cạnh được tối ưu hóa sẽ cho phép trang web của bạn nhắm mục tiêu phạm vi từ khóa rộng hơn. Để tránh rủi ro, hãy đảm bảo điều hướng của bạn không chỉ đáp ứng các yêu cầu robot tìm kiếm, nhưng cũng thuận tiện từ quan điểm trải nghiệm người dùng.

Trong bài viết hôm nay, tôi sẽ cho bạn biết về tính năng Sphinx được gọi là nhiều truy vấn: các tính năng tối ưu hóa tích hợp, triển khai, v.v. tìm kiếm theo khía cạnh và nói chung đôi khi bạn có thể sử dụng nó để thực hiện tìm kiếm nhanh hơn ba lần.

Nhưng trước tiên, 15 giây thông tin chính trị (bạn không thể tự khen mình, sẽ không có ai khen bạn cả). Năm nay, Sphinx đủ tiêu chuẩn trong danh mục Quản trị viên hệ thống và Doanh nghiệp (họ nói rằng nó chỉ bỏ sót một chút trong danh mục Nhà phát triển). Việc bỏ phiếu sẽ tiếp tục trong một tuần nữa (cho đến ngày 20). Ngoại trừ Email công việcđịa chỉ, không cần gì cả. Cảm ơn trước tất cả những người sẽ không để chúng tôi lãng phí!

Và quay lại phát triển. Dù sao, nhiều yêu cầu là gì và tốc độ nhanh gấp ba lần được hứa hẹn đến từ đâu?

Nhiều truy vấn là cơ chế cho phép bạn gửi nhiều yêu cầu tìm kiếm trong một gói.

Các phương thức API triển khai cơ chế đa yêu cầu được gọi là ThêmQuery()RunQueries(). (Nhân tiện, phương thức Query() “thông thường” sử dụng chúng trong nội bộ: nó gọi AddQuery() một lần và sau đó ngay lập tức RunQueries()). Phương thức AddQuery() lưu trạng thái hiện tại của tất cả cài đặt truy vấn do lệnh gọi API trước đó đặt và ghi nhớ truy vấn. Cài đặt của một yêu cầu đã được ghi nhớ sẽ không còn thay đổi, mọi lệnh gọi API sẽ không chạm vào chúng, vì vậy, đối với các yêu cầu tiếp theo, bạn có thể sử dụng bất kỳ cài đặt nào khác (chế độ sắp xếp khác, các bộ lọc khác, v.v.). Phương thức RunQueries() thực sự gửi tất cả các truy vấn được lưu trữ trong một đợt và trả về nhiều kết quả. Không có hạn chế nào được áp đặt đối với các yêu cầu tham gia gói. Số lượng truy vấn, đề phòng, bị giới hạn bởi chỉ thị max_batch_queries (được thêm vào 0.9.10, trước đây được sửa ở mức 32), nhưng đây thường chỉ là kiểm tra các gói bị hỏng.

Tại sao nên sử dụng nhiều truy vấn? Nói chung, tất cả phụ thuộc vào hiệu suất. Thứ nhất, bằng cách gửi yêu cầu tới searchd trong một gói, chúng tôi luôn tiết kiệm được một ít tài nguyên và thời gian bằng cách gửi ít qua lại hơn gói mạng. Thứ hai, và quan trọng hơn nhiều, searchd có cơ hội thực hiện một số tối ưu hóa trên toàn bộ loạt truy vấn. Theo thời gian, các tối ưu hóa mới dần dần được thêm vào, do đó, việc gửi yêu cầu theo đợt bất cứ khi nào có thể là điều hợp lý - sau đó khi bạn cập nhật Sphinx, mới tối ưu hóa hàng loạt bật hoàn toàn tự động. Trong trường hợp không thể áp dụng tối ưu hóa hàng loạt, các yêu cầu sẽ chỉ được xử lý từng yêu cầu một mà không có bất kỳ sự khác biệt rõ ràng nào đối với ứng dụng.

Tại sao (chính xác hơn là khi nào) KHÔNG sử dụng nhiều truy vấn? Tất cả các truy vấn trong một đợt phải độc lập, nhưng đôi khi trường hợp này không xảy ra và truy vấn B có thể phụ thuộc vào kết quả của truy vấn A. Ví dụ: chúng tôi có thể muốn hiển thị kết quả tìm kiếm từ chỉ số bổ sung chỉ khi không tìm thấy gì trong chỉ mục chính. Hoặc đơn giản là chọn một offset khác trong tập kết quả thứ 2 tùy thuộc vào số trận đấu trong tập đầu tiên. Trong những trường hợp như vậy, bạn sẽ phải sử dụng các truy vấn riêng biệt (hoặc các gói riêng biệt).

Có hai tối ưu hóa hàng loạt quan trọng đáng để biết: tối ưu hóa thắc mắc chung(có sẵn từ phiên bản 0.9.8) và tối ưu hóa các cây con phổ biến (có sẵn từ phiên bản 0.9.10, đang được phát triển).

Tối ưu hóa truy vấn chung nó hoạt động như thế này searchd chọn từ gói tất cả các yêu cầu mà chỉ có cài đặt sắp xếp và nhóm khác nhau, nhưng phần toàn văn, bộ lọc, v.v. đều giống nhau - và chỉ tìm kiếm một lần. Ví dụ: nếu có 3 truy vấn trong một gói thì phần văn bản của tất cả chúng đều là “ipod nano”, nhưng truy vấn đầu tiên chọn 10 kết quả rẻ nhất, truy vấn thứ 2 nhóm kết quả theo ID cửa hàng và sắp xếp các cửa hàng theo xếp hạng, và truy vấn thứ 3 chỉ cần chọn mức giá tối đa, tìm kiếm “ipod nano” » sẽ chỉ hoạt động một lần, nhưng từ kết quả của nó, 3 phản hồi được sắp xếp và nhóm khác nhau sẽ được tạo.

Cái gọi là tìm kiếm khía cạnh là trường hợp đặc biệt được áp dụng sự tối ưu hóa này. Trên thực tế, nó có thể được triển khai bằng cách chạy một số truy vấn tìm kiếm với cài đặt khác nhau: một cho các kết quả tìm kiếm chính, một số khác cho cùng một truy vấn tìm kiếm, nhưng cài đặt nhóm khác nhau (3 tác giả hàng đầu, 5 cửa hàng hàng đầu, v.v.). Khi mọi thứ ngoại trừ việc sắp xếp và nhóm đều giống nhau, tính năng tối ưu hóa được bật và tốc độ tăng lên khá tốt (ví dụ bên dưới).

Tối ưu hóa cây con được chia sẻđiều thú vị hơn nữa. Nó cho phép searchd khai thác những điểm tương đồng giữa các truy vấn khác nhau trong một đợt. Bên trong tất cả những người đến đều riêng biệt - khác nhau! - truy vấn toàn văn xác định các phần chung và nếu có, kết quả trung gian các tính toán được lưu trữ và chia sẻ giữa các yêu cầu. Ví dụ: trong gói 3 yêu cầu này

Barack Obama Tổng thống Barack Obama John McCain Bài phát biểu của Barack Obama

Có một phần chung của 2 từ (“barack obama”), có thể tính toán chính xác một lần cho cả ba truy vấn và được lưu vào bộ nhớ đệm. Đây chính xác là những gì tối ưu hóa cây con được chia sẻ thực hiện. Kích thước tối đa Bộ đệm cho mỗi gói bị giới hạn nghiêm ngặt bởi các chỉ thị subtree_docs_cache và subtree_hits_cache, vì vậy nếu phần chung “tôi” được tìm thấy trong một trăm triệu tài liệu, máy chủ sẽ không đột ngột hết bộ nhớ.

Hãy quay lại việc tối ưu hóa các truy vấn chung. Đây là một ví dụ về mã chạy cùng một truy vấn nhưng có ba chế độ khác nhau sắp xếp:
các chế độ sắp xếp:

Yêu cầu("sphinxapi.php"); $cl = SphinxClient mới(); $cl->SetMatchMode(SPH_MATCH_EXTENDED2); $cl->SetSortMode(SPH_SORT_RELEVANCE); $cl->AddQuery("the", "lj"); $cl->SetSortMode(SPH_SORT_EXTENDED, "đã xuất bản"); $cl->AddQuery("the", "lj"); $cl->SetSortMode(SPH_SORT_EXTENDED, "đã xuất bản tăng dần"); $cl->AddQuery("the", "lj"); $res = $cl->RunQueries();

Làm thế nào để bạn biết liệu việc tối ưu hóa có hiệu quả hay không? Nếu nó hoạt động, trong các dòng tương ứng của nhật ký sẽ có một trường có “hệ số nhân”, cho biết có bao nhiêu yêu cầu được xử lý cùng nhau:

0,040 giây x3 0,040 giây x3 0,040 giây x3

Hãy chú ý đến “x3”, chính xác là như vậy - điều đó có nghĩa là yêu cầu đã được tối ưu hóa và xử lý như một phần của gói gồm 3 yêu cầu (bao gồm cả yêu cầu này). Để so sánh, nhật ký trông như thế này, trong đó các yêu cầu giống nhau được gửi cùng một lúc:

0,059 giây 0,091 giây 0,092 giây

Có thể thấy, thời gian tìm kiếm cho mỗi truy vấn trong trường hợp đa truy vấn đã được cải thiện từ 1,5 lên 2,3 lần, tùy theo chế độ sắp xếp. Trên thực tế, đây không phải là giới hạn. Đối với cả hai lần tối ưu hóa, có những trường hợp đã biết tốc độ được cải thiện từ 3 lần trở lên - không phải trong các thử nghiệm tổng hợp mà là trong quá trình sản xuất. Tối ưu hóa các truy vấn chung khá phù hợp với tìm kiếm dọc cho sản phẩm và cửa hàng trực tuyến, bộ nhớ đệm của các cây con phổ biến tương tự như các truy vấn khai thác dữ liệu; nhưng tất nhiên khả năng ứng dụng không bị giới hạn nghiêm ngặt ở những lĩnh vực này. Ví dụ: bạn có thể thực hiện tìm kiếm mà không cần phần văn bản đầy đủ và đọc một số báo cáo khác nhau (với cách sắp xếp, nhóm khác nhau, v.v.) bằng cách sử dụng cùng một dữ liệu trong một yêu cầu.

Chúng ta có thể mong đợi những tối ưu hóa nào khác trong tương lai? Phụ thuộc vào bạn. Cho đến nay, kế hoạch dài hạn bao gồm việc tối ưu hóa rõ ràng cho các truy vấn giống hệt nhau với các bộ bộ lọc khác nhau. Bạn có biết một mẫu phổ biến khác có thể được tối ưu hóa một cách khéo léo không? Gửi nó!

Các chuyên gia nổi tiếng thế giới trong lĩnh vực khả năng sử dụng và UX. Cứ sau vài năm, họ lại khảo sát hiệu suất tìm kiếm trên các trang thương mại điện tử và chia sẻ kết quả trên blog của mình. Nghiên cứu cuối cùng được thực hiện vào năm 2017. Đặc biệt đối với bạn, chúng tôi đã đọc bài viết kèm theo mô tả, dịch nó và đưa ra những kết luận thực tế sẽ giúp bạn cải thiện khả năng tìm kiếm trên trang web của riêng mình.

Thuật toán tìm kiếm

Hỗ trợ toán tử tìm kiếm nâng cao "trích dẫn"

NNGroup viết rằng hầu hết khách truy cập vào các cửa hàng trực tuyến không biết cách sử dụng các toán tử tìm kiếm nâng cao. Nếu họ muốn tìm đồ chơi cho mèo, họ sẽ không tìm kiếm “mèo VÀ đồ chơi” để xem tất cả các sản phẩm có cả hai từ khóa trong mô tả. Vì vậy, không cần thiết phải hỗ trợ các truy vấn tìm kiếm phức tạp như vậy.

Dấu ngoặc kép là ngoại lệ duy nhất. Nếu bạn đặt một cụm từ trong dấu ngoặc kép, việc tìm kiếm sẽ dựa trên kết quả khớp hoàn toàn với cụm từ đó. Toán tử này được sử dụng trong tìm kiếm của Google, và được biết đến rộng rãi trong số những người dùng Internet tiên tiến.

Tự động sắp xếp kết quả tìm kiếm theo mức độ phù hợp với truy vấn của bạn

TRONG kết quả tìm kiếm Những sản phẩm đáp ứng tất cả hoặc hầu hết các từ khóa truy vấn sẽ được hiển thị trước tiên.

Ví dụ. Trong các nghiên cứu trước đây, người dùng trang web The Container Store đã phàn nàn về kết quả tìm kiếm không chính xác trên trang web. Một người dùng muốn mua một bộ hộp đựng bằng thép không gỉ có nắp trong suốt. Khi yêu cầu “hộp thép thủy tinh”, anh nhận được bàn chải nhà vệ sinh và lọ thủy tinh. Người dùng đã phải định dạng lại truy vấn tìm kiếm nhiều lần nhưng không thành công.

Vấn đề máy tìm kiếm trên trang web là kết quả tìm kiếm hiển thị tất cả các sản phẩm khớp với ít nhất một từ tìm kiếm (“thép”, “thủy tinh” hoặc “hộp đựng”), không được sắp xếp theo mức độ khớp với yêu cầu ban đầu. Một sản phẩm khớp với cả ba từ khóa có thể ở bất kỳ đâu trong danh sách, không nhất thiết phải ở đầu. Trang web sau đó đã được cập nhật thuật toán tìm kiếm: Bây giờ, ở đầu kết quả tìm kiếm, bạn có thể thấy các sản phẩm khớp với tất cả hoặc hầu hết các từ khóa truy vấn.

Cải thiện kết quả tìm kiếm trên containerstore.com: kết quả đầu tiên về hộp đựng bằng thép và thủy tinh phù hợp với nhu cầu của người dùng

Khi sắp xếp kết quả theo xếp hạng sản phẩm, hãy xem xét giá trị có trọng số chứ không phải giá trị trung bình.

Bằng cách sắp xếp sản phẩm theo xếp hạng trung bình của khách hàng, người dùng không muốn thấy sản phẩm chỉ có một xếp hạng, ngay cả khi đó là 5 sao. Mọi người không muốn tình cờ thấy một bài đánh giá tùy chỉnh và xếp hạng trung bình của một sản phẩm dựa trên một vài bài đánh giá khiến họ nghi ngờ. Khi sắp xếp theo xếp hạng có trọng số, sản phẩm có xếp hạng trung bình là 4,9/5 và 342 đánh giá sẽ được xếp hạng cao hơn sản phẩm có xếp hạng trung bình là 5/5 và 3 đánh giá. Bằng cách này, người dùng sẽ có thể có được ý tưởng khách quan về mức độ phổ biến và chất lượng của sản phẩm.

Thiết kế và vị trí của thanh tìm kiếm

Hiển thị thanh tìm kiếm trong một khối với menu điều hướng trong tiêu đề trang web

Cách sắp xếp thanh tìm kiếm này được tìm thấy trên nhiều trang web, vì vậy người dùng đã biết phải tìm nó ở đâu. Ngoài ra, hiển thị chuỗi tìm kiếm trong một khối với Chức năng điều hướng giải quyết nhiều vấn đề, chẳng hạn như sự vắng mặt của nó trên một số trang của trang web và nhu cầu lặp lại nó trên trang kết quả tìm kiếm.

Trên trang web Wildberries, nó lớn và hiển thị rõ ràng chuỗi tìm kiếm nằm ngay trong tiêu đề trang web

Hiển thị thanh tìm kiếm và biểu tượng kính lúp trên màn hình

Khi khách truy cập vào các trang mua sắm trực tuyến muốn sử dụng tìm kiếm, họ sẽ tìm kiếm một trường trống rộng hoặc biểu tượng kính lúp. Đồng thời, không cần thiết phải ký tên rõ ràng vào chuỗi tìm kiếm và gọi nó là “Tìm kiếm”, mặc dù điều đó sẽ không gây hại gì.

Nhiều trang web trong phiên bản dành cho điện thoại thông minh sử dụng thành công biểu tượng kính lúp và không hiển thị dòng đó, điều này cho phép chúng tiết kiệm không gian trên màn hình. Nhưng nếu doanh số bán trang web của bạn phụ thuộc vào tìm kiếm thì tốt hơn hết bạn nên hiển thị thanh tìm kiếm ngay lập tức, ngay cả trên màn hình nhỏ. Điều này đặc biệt đúng đối với các phiên bản PC của trang web, nơi có quá nhiều không gian màn hình. Sử dụng trường trống có nút “Tìm” hoặc biểu tượng kính lúp. Trường này sẽ hiển thị trên mỗi trang.

Thu hẹp kết quả tìm kiếm của bạn

Không sử dụng tìm kiếm nâng cao hoặc tìm kiếm danh mục trừ khi bạn là Amazon

Trước đây, nhiều cửa hàng trực tuyến đã sử dụng tính năng tìm kiếm nâng cao và tìm kiếm danh mục để giúp người dùng thu hẹp số lượng mặt hàng trong kết quả tìm kiếm của họ. Tuy nhiên, mọi người không thực sự sử dụng tìm kiếm nâng cao và thường bối rối khi tìm kiếm theo danh mục nên những tính năng này đã dần lỗi thời.

Các phương pháp tìm kiếm nâng cao như vậy hiện chỉ khả dụng trên những trang web mà chúng thực sự hữu ích. Đây là những trang web có các tình huống tìm kiếm đặc biệt, như eBay hoặc các cửa hàng trực tuyến có một số lượng lớn các sản phẩm như Amazon và Wal-Mart.

Trong các trường hợp khác, tốt hơn nên sử dụng tìm kiếm theo khía cạnh. Của anh ấy sự khác biệt chính từ tìm kiếm danh mục là người dùng thu hẹp lựa chọn sản phẩm SAU KHI họ nhận được kết quả bằng cách truy vấn tìm kiếm, không phải TRƯỚC.

Sử dụng tìm kiếm theo khía cạnh

Tìm kiếm theo khía cạnh cho phép người dùng thu hẹp kết quả tìm kiếm của họ bằng cách sử dụng các bộ lọc dựa trên thuộc tính của sản phẩm mà người dùng đang xem. Nếu trước đây tìm kiếm theo khía cạnh là một bổ sung thú vị cho một cửa hàng trực tuyến thì giờ đây người dùng đã quen với nó đến mức họ tìm kiếm nó trên trang web và bày tỏ sự không hài lòng nếu nó không có ở đó. Ngày nay, các trang web thương mại điện tử không có tìm kiếm theo khía cạnh là ngoại lệ hơn là quy luật.

Tìm kiếm theo khía cạnh trên trang web của cửa hàng trực tuyến Utkonos: các bộ lọc ở bên trái cho phép bạn thu hẹp kết quả

Tự động hoàn thành trong thanh tìm kiếm

Hỗ trợ tính năng tự động hoàn thành

Tính năng tự động hoàn thành là khi người dùng nhập một từ vào thanh tìm kiếm, anh ta sẽ thấy các truy vấn được đề xuất trong danh sách thả xuống. Nếu một yêu cầu từ danh sách phù hợp với người dùng thì điều này giúp anh ta tiết kiệm thời gian và cũng giúp tránh lỗi chính tả và các lỗi khác.

Tính năng tự động hoàn thành đã có mặt trên hầu hết các trang web mà NNGroup nghiên cứu. Đồng thời, nghiên cứu cho thấy người dùng không thường xuyên chọn các phương án từ danh sách được đề xuất - chỉ trong 23% trường hợp. Thông thường, họ sẽ tiếp tục nhập truy vấn của mình.

Tuy nhiên, tính năng tự động hoàn thành rất hữu ích. Ngay cả khi người dùng không chọn tùy chọn từ danh sách, họ vẫn có thể xem và hiểu những sản phẩm nào có sẵn trên trang web và những gì người mua hàng khác đang tìm kiếm.

Hỗ trợ tự động hoàn thành nâng cao

Tìm kiếm tự động hoàn thành có chứa các sản phẩm, ảnh và nội dung khác được đề xuất ngoài danh sách truy vấn là xu hướng đang trở nên phổ biến trên một số trang web điện tử. Anh ta xuất hiện khoảng năm năm trước, nhưng nhanh chóng biến mất, và bây giờ anh ta đã quay trở lại. hình thức mới, gợi nhớ đến meganu - trường thả xuống với các tùy chọn truy vấn được đề xuất chiếm khá nhiều không gian trên màn hình.

Tìm kiếm với tính năng tự động hoàn thành nâng cao trong cửa hàng trực tuyến Labyrinth

Nghiên cứu của NNGroup đã chỉ ra rằng tính năng này hoạt động tốt nhất trên các trang web có nhiều danh mục sản phẩm hoặc các sản phẩm có hình ảnh rất khác nhau.

Các vấn đề tìm kiếm cơ bản

Các vấn đề chính khiến việc tìm kiếm trên trang web trở nên khó khăn:

  • chức năng tìm kiếm kín đáo: ví dụ: ẩn sau biểu tượng kính lúp nhỏ trên màn hình lớn hoặc trên thực đơn hamburger phiên bản điện thoại trang mạng;
  • chuỗi tìm kiếm không đủ “thông minh”, không thể xử lý lỗi chính tả, lỗi hoặc từ đồng nghĩa cho từ khóa truy vấn;
  • hiển thị kết quả không chuẩn (chuyển đổi giữa các trang, sắp xếp, lọc);
  • bộ lọc được thiết kế kém (thuộc tính không liên quan, chức năng kém, kết quả trống).

Cách USABILITYLAB có thể giúp cải thiện khả năng tìm kiếm trên trang web cửa hàng trực tuyến của bạn

Điều này kết thúc phân tích của chúng tôi về bài viết NNGroup. Chúng tôi hy vọng nó hữu ích cho bạn.

Nếu bạn muốn đánh giá hoặc cải thiện tìm kiếm trên trang web của mình, vui lòng liên hệ với chúng tôi. Chúng tôi sẽ thực hiện nó. Để kiểm tra khả năng sử dụng, chúng tôi sẽ mời các đại diện của bạn khán giả mục tiêu. Họ sẽ làm việc trên trang web của bạn dưới sự giám sát của chuyên gia của chúng tôi. Phòng thí nghiệm của chúng tôi được trang bị gương một chiều nên bạn cũng có thể có mặt trong quá trình thử nghiệm và quan sát mọi việc người trả lời làm. Dựa trên kết quả thử nghiệm, chúng tôi sẽ đưa ra kết luận về mức độ tìm kiếm trên trang web của bạn đáp ứng nhu cầu của người dùng và đưa ra các đề xuất để cải thiện nó mà bạn có thể chuyển cho các nhà phát triển của mình.

Để tìm hiểu thêm về các dịch vụ của chúng tôi, hãy để lại yêu cầu trên trang web của chúng tôi hoặc viết thư cho Dmitry Silaev:

Tổ chức cái gọi là tìm kiếm theo khía cạnh (điều hướng theo khía cạnh) trên trang web. Ý nghĩa của nó là kết quả tìm kiếm có thể được tinh chỉnh bằng cách sử dụng các đặc điểm khác nhau của tài liệu - tác giả, loại, thuật ngữ, ngày tạo, v.v.

Ví dụ: nếu bạn có một cửa hàng trực tuyến bán công nghệ điện tử, và người dùng nhập cụm từ vào tìm kiếm máy nghe nhạc. Trên trang kết quả, ngoài bản thân kết quả, sẽ có các khía cạnh:

- chương: thiết bị âm thanh (54), công nghệ máy tính (85)
- Thương hiệu: Apple (25), Samsung (68), iRiver (78)
- Tình trạng: Còn hàng: có (456), không (12)
- Giá: 100-1000$ (45), 1000-10000$ (12)

vân vân. Số lượng sản phẩm (nút) đáp ứng các đặc điểm này sẽ được chỉ định trong ngoặc. Bằng cách nhấp vào liên kết, người dùng sẽ thu hẹp kết quả tìm kiếm.


Một mặt, đây là giải pháp thay thế cho các bộ lọc mở rộng trong Chế độ xem, mặt khác, là giải pháp thay thế cho tìm kiếm nâng cao tiêu chuẩn.

Cài đặt

Phần khía cạnh

Trong phần này, bạn có thể chỉ định những khía cạnh nào sẽ được sử dụng khi tìm kiếm. Ví dụ: cho phép bạn chọn tài liệu theo phân loại, ngày thêm hoặc tác giả. Số lượng các khía cạnh phụ thuộc vào các mô-đun đi kèm.

Phần trang kết quả

Kiểu hiển thị- Kiểu hiển thị kết quả tìm kiếm: Chiết xuất có nghĩa là hiển thị như trong tìm kiếm thông thường (văn bản được đánh dấu, tác giả, ngày tháng); Đoạn giới thiệu có nghĩa là hiển thị đoạn giới thiệu tài liệu bằng cách sử dụng node.tpl.php thích hợp.

Sử dụng kiểu hiển thị Trích xuất một cách có chọn lọc- Nếu tùy chọn được chọn thì kiểu Chiết xuất sẽ luôn được áp dụng nếu từ khóa được nhập. Nếu bạn không chọn tùy chọn này, bạn có thể sử dụng mô-đun này để thay thế cho việc điều hướng các thuật ngữ phân loại.

Phần tìm kiếm hiện tại

Cho phép bạn bật khối Tìm kiếm hiện tại , hiển thị các cụm từ tìm kiếm: