Lọc và sắp xếp kết quả tìm kiếm

Tổng quan

Để giúp người dùng truy cập vào đúng trang trên trang web của bạn, Công cụ tìm kiếm có thể lập trình cung cấp các toán tử tìm kiếm có cấu trúc giúp bạn xem chi tiết các nhóm nhỏ kết quả tìm kiếm dựa trên dữ liệu có cấu trúc tìm thấy trong các trang hoặc siêu dữ liệu liên kết với hình ảnh trên trang web của bạn.

Đối với tính năng tìm kiếm hình ảnh, Google dựa vào cả dữ liệu có cấu trúc trên các trang lẫn siêu dữ liệu hình ảnh mà Google tìm thấy khi thu thập dữ liệu trên trang web của bạn. Tất cả quản trị viên trang web nên làm quen với nguyên tắc xuất bản hình ảnh của chúng tôi.

  1. Tìm kiếm trên web
  2. Tìm kiếm hình ảnh
  3. Tính năng tìm kiếm có cấu trúc trong Phần tử tìm kiếm có thể lập trình

Tìm kiếm trên web

Không giống như văn bản, là một chuỗi từ ngữ dạng tự do, dữ liệu có cấu trúc được sắp xếp theo logic thành một tập hợp các đối tượng với một tập hợp các thuộc tính. Công cụ tìm kiếm có thể lập trình trích xuất nhiều dữ liệu có cấu trúc để các toán tử tìm kiếm có cấu trúc sử dụng, bao gồm ngày, tác giả, điểm xếp hạng và giá cả. Đây cũng chính là dữ liệu có sẵn để sử dụng trong đoạn trích tuỳ chỉnh. Ngoài ra, Công cụ tìm kiếm có thể lập trình hỗ trợ dữ liệu có cấu trúc ở bất kỳ định dạng nào sau đây:

  • PageMap: PageMap thể hiện rõ ràng dữ liệu có cấu trúc dưới dạng DataObjects (Đối tượng dữ liệu) với Thuộc tính và giá trị, được mã hoá dưới dạng khối XML được nhúng trong trang web. Công cụ tìm kiếm có thể lập trình cung cấp mọi dữ liệu PageMap được định dạng hợp lý cho các toán tử tìm kiếm có cấu trúc. Công cụ này cũng có thể dùng trong đoạn mã tuỳ chỉnh.
  • Thẻ meta: Google trích xuất nội dung đã chọn từ các thẻ meta có dạng <meta name="NAME" content="VALUE">. Bạn có thể dùng thẻ meta có dạng <meta name="pubdate" content="20100101"> với toán tử tìm kiếm có dạng: &sort=metatags-pubdate.
  • Ngày trên trang: Google ước tính ngày của một trang dựa trên URL, tiêu đề, ngày xuất bản trên dòng và các tính năng khác. Bạn có thể dùng ngày này với toán tử sắp xếp bằng kiểu dữ liệu có cấu trúc đặc biệt date, như trong &sort=date.
  • Dữ liệu trong đoạn trích nhiều định dạng: Google cũng trích xuất một nhóm nhỏ dữ liệu từ các tiêu chuẩn công khai như: để dùng trong các toán tử dữ liệu có cấu trúc của Công cụ tìm kiếm có thể lập trình. Ví dụ: để sắp xếp các trang được đánh dấu theo tiêu chuẩn Vi định dạng hrecipe dựa trên điểm xếp hạng của các trang đó, hãy sử dụng &sort=recipe-ratingstars.

Thông tin thêm về việc cung cấp dữ liệu có cấu trúc.

Nếu trang của bạn chứa dữ liệu có cấu trúc, bạn có thể áp dụng các toán tử tìm kiếm có cấu trúc của Công cụ tìm kiếm có thể lập trình để giới hạn nội dung tìm kiếm trong các trường có giá trị dữ liệu cụ thể, sắp xếp nghiêm ngặt theo giá trị số, thiên về một số giá trị nhất định thay vì sắp xếp hoặc thậm chí là giới hạn phạm vi giá trị bằng số nhất định.

Công cụ tìm kiếm có thể lập trình hỗ trợ các toán tử tìm kiếm sau đây trên dữ liệu có cấu trúc:

Trở lại đầu trang

Lọc theo thuộc tính

Tính năng lọc theo thuộc tính cho phép bạn chọn 3 loại kết quả:

  • Kết quả có DataObject đính kèm cụ thể, chẳng hạn như một bài đánh giá
  • Kết quả có DataObject với một trường nhất định, chẳng hạn như bài đánh giá có một khoảng giá.
  • Kết quả kèm theo giá trị cụ thể của một trường, chẳng hạn như bài đánh giá 5 sao.

Để lọc theo thuộc tính, hãy thêm toán tử more:pagemap:TYPE-NAME:VALUE vào một cụm từ tìm kiếm. Phương thức này giới hạn kết quả tìm kiếm ở các trang có dữ liệu có cấu trúc khớp chính xác với loại, tên và giá trị đó. (Công cụ tìm kiếm có thể lập trình sẽ chuyển đổi tối đa 200 thuộc tính trên mỗi trang, bắt đầu với dữ liệu sơ đồ trang, sau đó là JSON-LD, vi định dạng, thẻ meta, RDFa và vi dữ liệu). Thuộc tính không được dài quá 128 ký tự. Bạn có thể tổng quát hoá toán tử này bằng cách bỏ qua VALUE để khớp với mọi thực thể của trường được đặt tên hoặc bỏ qua -NAME:VALUE để khớp với tất cả đối tượng thuộc một loại nhất định.

Để xem cách xây dựng toán tử hoàn chỉnh từ dữ liệu có cấu trúc, hãy xem lại ví dụ chúng ta đã sử dụng trước đó:

[halloween more:pagemap:document-author:lisamorton]

Phân tích chi tiết hơn về hạn chế more:pagemap:document-author:lisamorton, toán tử more: là thứ mà Công cụ tìm kiếm có thể lập trình sử dụng để tạo các nhãn tinh lọc, phần pagemap: của quá trình tinh chỉnh cho chúng tôi biết cách tinh chỉnh kết quả theo các thuộc tính cụ thể trong Sơ đồ trang được lập chỉ mục, và các phần tử còn lại của toán tử – document-authorlisamorton – chỉ định nội dung chi tiết về quy tắc hạn chế. Xem lại PageMap trong ví dụ sau:

<PageMap>
  <DataObject type="document">
    <Attribute name="title">The Five Scariest Traditional Halloween Stories</Attribute>
    <Attribute name="author">lisamorton</Attribute>
  </DataObject>
</PageMap>

Bộ hạn định document-author: của toán tử yêu cầu chúng ta tìm DataObject thuộc loại document với Thuộc tính có tên author. Theo sau khoá dữ liệu có cấu trúc này là giá trị lisamorton. Giá trị này phải khớp chính xác với giá trị của Thuộc tính sẽ được trả về trong một lượt tìm kiếm có chứa quy định hạn chế này.

more:p:document-author:lisamorton

Khi lọc theo Thuộc tính, bạn có thể tạo các bộ lọc phức tạp hơn (và các lệnh ngắn hơn) bằng cách sử dụng một truy vấn nhỏ gọn. Ví dụ: bạn có thể thêm PageMap sau đây cho một URL:

    <pagemap>
      <DataObject type="document">
        <Attribute name="keywords">horror</Attribute>
        <Attribute name="keywords">fiction</Attribute>
        <Attribute name="keywords">Irish</Attribute>
      </DataObject>
    </pagemap>
  </page>

Để truy xuất kết quả cho cụm từ tìm kiếm "Tiếng Ireland VÀ truyện giả tưởng", hãy dùng:

more:p:document-keywords:irish*fiction

Giá trị này tương đương với more:pagemap:document-keywords:Irish more:pagemap:document-keywords:fiction.

Để truy xuất kết quả cho "Tiếng Ireland VÀ (tiểu thuyết HOẶC kinh dị)", hãy sử dụng các phương thức sau:

more:p:document-keywords:irish*fiction,irish*horror

Trở lại đầu trang

Lọc theo nhánh

Lọc theo nhánh là một biến thể của lọc theo thuộc tính, có sẵn cho JSON-LD, Microformat và RDFa. Đây là loại bộ lọc duy nhất theo thuộc tính dành cho dữ liệu có cấu trúc JSON-LD.

Nếu dữ liệu có cấu trúc không chứa cây hoặc chỉ chứa cây không có phần tử con, thì các giới hạn sẽ giống như lọc theo thuộc tính. Tuy nhiên, cây có phần tử con có các hạn chế như sau: type-name cho mỗi nút từ gốc đến nút lá, vì vậy, cây có:

  • Thư mục gốc thuộc loại Event
  • Trẻ có tên là xếp hạng
  • Thành phần con đó có loại AggregateRating
  • Thành phần con có một thuộc tính tên là ratingCount và giá trị 22
Sẽ tạo ra hạn chế: more:pagemap:event-rating-aggregaterating-ratingcount:22 cho nhánh kết thúc ở số lượng điểm xếp hạng.

Sử dụng tính năng Lọc theo thuộc tính hoặc Nhánh với các tính năng khác

Bạn có thể sử dụng cú pháp mở này để xem chi tiết nội dung được chỉ định trong Sơ đồ trang trong các tài liệu trên trang web của mình; bạn cũng có thể sử dụng cú pháp tương tự này với hầu hết các loại dữ liệu có cấu trúc khác được Google hỗ trợ, chỉ ngoại trừ ngày ước tính của trang. Bạn cũng có thể dùng các toán tử more:pagemap: này với nhãn tinh chỉnh hoặc phần tử truy vấn ẩn để lọc kết quả theo những thuộc tính quan trọng đối với ứng dụng của bạn, nhờ đó, người dùng cuối sẽ không phải nhập trực tiếp các bộ hạn định hạn chế này.

Bạn cũng có thể bỏ qua các phần của toán tử tìm kiếm. Trong ví dụ trên, hãy lưu ý rằng PageMap chỉ định một DataObject thuộc loại document và thuộc tính thuộc loại author. Tuy nhiên, không phải mọi trang trên trang web của bạn đều có thể là một tài liệu và không phải mọi tài liệu đều có tác giả được ghi nguồn. Nếu bạn dùng toán tử của biểu mẫu more:pagemap:document-author, kết quả được trả về sẽ bao gồm mọi trang có Thuộc tính author trong DataObject document, bất kể giá trị của Thuộc tính là gì. Tương tự, more:pagemap:document sẽ trả về tất cả kết quả với PageMaps có DataObjects thuộc loại document, bất kể trường nào trên DataObject đó.

Mã hoá giá trị văn bản cho các hạn chế

Những giá trị thuộc tính chứa dấu cách, dấu chấm câu hoặc ký tự đặc biệt hầu như luôn được tách thành các mã riêng biệt. Ví dụ: một giá trị thuộc tính "Công cụ tìm kiếm có thể lập trình@google" sẽ được chia thành 3 mã riêng biệt là "tuỳ chỉnh", "tìm kiếm" và "google". Tính năng này cho phép tìm kiếm một từ duy nhất được nhúng trong chuỗi từ và dấu câu lớn hơn, chẳng hạn như nội dung mô tả chính thức. (Công cụ tìm kiếm có thể lập trình sẽ trích xuất tối đa 10 mã thông báo cho mỗi chuỗi, vì vậy, nếu giá trị thuộc tính chứa hơn 10 từ, thì không phải từ nào cũng dùng được để hạn chế kết quả.) Ví dụ: PageMap sau đây cung cấp nội dung mô tả thực tế của Công cụ tìm kiếm có thể lập trình:

<PageMap>
  <DataObject type="product">
    <Attribute name="description">Programmable Search Engine provides customized search engines</Attribute>
  </DataObject>
</PageMap>

Quy định hạn chế sau sẽ tìm tất cả các trang có thuộc tính product-description về "tìm kiếm":

[more:pagemap:product-description:search]

Các quy tắc khác đối với việc mã hoá giá trị văn bản:

  • Giá trị văn bản được chuyển đổi sang chữ thường cho các hạn chế
  • Đối với các chuỗi dài tối đa 6 mã thông báo, một hạn chế bổ sung sẽ được tạo cho toàn bộ chuỗi, với các khoảng trống được thay thế bằng _, chẳng hạn như please_attend.
  • Các giới hạn riêng biệt không được tạo cho các từ dừng, những từ như the, a, nhưngdo đó ít hữu ích hơn cho việc tìm kiếm. Vì vậy, giá trị văn bản: "the main point" sẽ tạo ra các hạn chế cho main, pointthe_main_point chứ không tạo ra một hạn chế cho the.
  • Chỉ 10 từ đầu tiên trong giá trị văn bản được dùng để tạo ra các hạn chế.
  • Những ký tự dấu câu không được coi là dấu phân cách sẽ được chuyển đổi thành dấu gạch dưới, _.

Tìm hiểu chi tiết về giá trị được mã hoá bằng nhiều quy định hạn chế

Để xem chi tiết hơn, bạn có thể thêm các hạn chế khác; ví dụ: để chỉ xem các trang mô tả sản phẩm của công cụ tìm kiếm, hãy thêm các hạn chế:

[more:pagemap:product-description:search more:pagemap:product-description:engine]

Thứ tự của các quy tắc hạn chế more:pagemap: là không đáng kể; mã thông báo được trích xuất từ giá trị thuộc tính thành một tập hợp không theo thứ tự.

Theo mặc định, những hạn chế này được kết hợp với hàm AND. Tuy nhiên, bạn cũng có thể kết hợp với toán tử OR để nhận được kết quả khớp với một trong hai hạn chế. Ví dụ: sau đây là một nội dung tìm kiếm sẽ khớp với nội dung của tìm kiếm hoặc trò chơi:

[more:pagemap:product-description:search OR more:pagemap:product-description:game]

Một trường hợp ngoại lệ đối với quá trình mã hoá là đối với các giá trị thuộc tính là URL. Vì mã thông báo từ URL có mức độ hữu ích không đáng kể, nên chúng tôi không tạo bất kỳ mã thông báo nào từ các giá trị thuộc tính là URL hợp lệ.

Trong một số trường hợp, chẳng hạn như khi các mã thông báo ngắn thường được tìm thấy cùng nhau, Công cụ tìm kiếm có thể lập trình có thể kết hợp các mã này để tạo siêu mã thông báo. Ví dụ: nếu các mã thông báo "Tổng thống" và "Obama" thường xuyên xuất hiện bên cạnh nhau, thì Công cụ tìm kiếm có thể lập trình có thể tạo ra siêu mã thông báo "p ghế_obama". Do đó, [more:pagemap:leaders-name:president_obama] sẽ trả về kết quả tương tự như [more:pagemap:leaders-name:president AND more:pagemap:leaders-name:obama].

Một ngoại lệ chính khác đối với quá trình mã hoá dựa trên dấu câu là dấu gạch chéo lên "/" khi nó phân tách các số. Giá trị thuộc tính có dạng "NUMBER/NUMBER" hoặc "NUMBER/NUMBER/NUMBER" được coi là một mã thông báo liền kề; ví dụ: "3.5/5.0" và "09/23/2006" được coi là một mã thông báo. Ví dụ: để tìm kiếm trên một Thuộc tính có giá trị "2006/09/23", hãy sử dụng giới hạn:

[more:pagemap:birth-date:2006/09/23]

Việc kết hợp dựa trên dấu gạch chéo chỉ hoạt động khi dấu gạch chéo xuôi nằm giữa các số không có dấu cách; dấu cách giữa dấu gạch chéo và số sẽ dẫn đến việc tạo ra các mã thông báo riêng biệt. Hơn nữa, các số được kết hợp bằng dấu gạch chéo phải khớp chính xác; toán tử Lọc theo thuộc tính không diễn giải các giá trị này dưới dạng phân số hoặc ngày. Các toán tử tìm kiếm có cấu trúc khác của Công cụ tìm kiếm có thể lập trình, chẳng hạn như Sắp xếp theo thuộc tínhGiới hạn trong phạm vi, diễn giải những số này dưới dạng phân số và ngày. Hãy xem tài liệu về Cung cấp dữ liệu có cấu trúc để biết thêm chi tiết.

Trở lại đầu trang

Hạn chế đối với JSON-LD

JSON-LD là một định dạng chuẩn và hiệu quả cho dữ liệu có cấu trúc. Dữ liệu được định dạng dưới dạng JSON và được đặt trong một thẻ <script>type="application/ld+json".

Dưới đây là bit HTML tối thiểu với một số JSON-LD đơn giản:

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/AggregateRating",
        "http://schema.org/ratingCount": "22",
        "http://schema.org/ratingValue": "4.4",
        "http://schema.org/itemReviewed": {
          "@type": "http://schema.org/Event",
          "http://schema.org/description": "Please attend.",
          "http://schema.org/name": "Presenting Foo",
          "http://schema.org/startdate": "2022-05-24",
          "http://schema.org/location": "Back room"
        }
      }
</script>

Thao tác này sẽ tạo ra các hạn chế sau:

  • more:pagemap:aggregaterating-ratingcount:22
  • more:pagemap:aggregaterating-ratingvalue:4.4
  • more:pagemap:aggregaterating-itemreviewed-event-description:please_attend
  • more:pagemap:aggregaterating-itemreviewed-event-description:please
  • more:pagemap:aggregaterating-itemreviewed-event-description:attend
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting_foo
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting
  • more:pagemap:aggregaterating-itemreviewed-event-name:foo
  • more:pagemap:aggregaterating-itemreviewed-event-startdate:2022-05-24
  • more:pagemap:aggregaterating-itemreviewed-event-location:back_room
  • more:pagemap:aggregaterating-itemreviewed-event-location:back
  • more:pagemap:aggregaterating-itemreviewed-event-location:room

Đối với JSON-LD, chúng tôi chỉ tạo các hạn chế cho toàn bộ đường dẫn từ thư mục gốc, hãy xem phần Lọc theo nhánh. Tuy nhiên, gốc của cây JSON-LD có các nút lá là phần tử con mà các hạn chế kết quả có cùng dạng với Hạn chế thuộc tính. Một số hạn chế trong ví dụ trên được tạo từ các nút lá ở thư mục gốc và có dạng của thuộc tính (type-name-value) là hạn chế thuộc tính, như: more:pagemap:aggregaterating-ratingcount:22

Lưu ý: Các định dạng dữ liệu có cấu trúc khác cho phép các chuỗi dài tối đa 128 byte, nhưng đối với JSON-LD, mọi chuỗi sẽ bị cắt bớt còn khoảng 50 ký tự – cố gắng không kết thúc chuỗi giữa từ. Tuỳ thuộc vào độ dài của từ, việc này có thể giới hạn số lượng mã thông báo được tạo từ chuỗi một cách nghiêm ngặt hơn giới hạn là 10 mã thông báo.

Trở lại đầu trang

Sắp xếp theo thuộc tính

Đôi khi, việc giới hạn phạm vi tìm kiếm ở một loại kết quả cụ thể là chưa đủ; ví dụ: trong một lượt tìm kiếm qua các bài đánh giá về nhà hàng, bạn có thể muốn các nhà hàng được xếp hạng cao nhất xuất hiện ở đầu danh sách. Bạn có thể làm được điều này bằng tính năng sắp xếp theo thuộc tính của Công cụ tìm kiếm có thể lập trình. Tính năng này thay đổi thứ tự của kết quả dựa trên giá trị của các thuộc tính dữ liệu có cấu trúc. Bạn có thể kích hoạt tính năng sắp xếp bằng cách thêm tham số URL &sort=TYPE-NAME:DIRECTION vào URL yêu cầu vào Công cụ tìm kiếm có thể lập trình. Giống như tìm kiếm có cấu trúc, sắp xếp theo thuộc tính phụ thuộc vào dữ liệu có cấu trúc trên trang của bạn; tuy nhiên, không giống như tìm kiếm có cấu trúc, việc sắp xếp trường yêu cầu trường phải được diễn giải bằng số, chẳng hạn như số và ngày tháng.

Nói cách đơn giản nhất, bạn chỉ định một loại dữ liệu có cấu trúc dựa trên loại Đối tượng dữ liệu và Tên thuộc tính trong Sơ đồ trang, rồi thêm loại đối tượng đó vào URL yêu cầu dưới dạng &sort=TYPE-NAME. Ví dụ: để sắp xếp theo ngày trên một trang biểu thị dữ liệu như loại date và tên sdate, hãy sử dụng cú pháp sau:

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate

Theo mặc định, thao tác này thực hiện việc sắp xếp cứng theo thứ tự giảm dần – tức là kết quả tìm kiếm được sắp xếp nghiêm ngặt theo ngày, với ngày gần đây nhất (chuyển thành số lớn nhất) được sắp xếp trước. Nếu bạn muốn thay đổi thứ tự sắp xếp thành tăng dần, hãy thêm :a vào trường (hoặc thêm :d để chỉ định rõ ràng giảm dần). Ví dụ: để hiển thị các kết quả cũ nhất trước, bạn có thể sử dụng một quy định hạn chế về biểu mẫu:

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate:a

Kết quả đã sắp xếp từ công cụ của bạn được trình bày dựa trên giá trị mà các trang đó có trong Sơ đồ trang đối với DataObject và Thuộc tính đó. Các trang thiếu Sơ đồ trang, loại DataObject đó hoặc giá trị có thể phân tích cú pháp cho Thuộc tính đó sẽ không xuất hiện theo thứ tự cứng. Trong ví dụ ở trên, các trang không có thuộc tính date-sdate sẽ không xuất hiện trong kết quả. Bạn không thể kết hợp chế độ sắp xếp cứng với tính năng Bù trừ theo thuộc tính được mô tả trong phần tiếp theo, nhưng có thể kết hợp tính năng này với Lọc theo thuộc tínhGiới hạn trong phạm vi.

Trở lại đầu trang

Bù trừ theo thuộc tính

Đôi khi, bạn không muốn loại trừ các kết quả không có giá trị; ví dụ: bạn muốn tìm kiếm ẩm thực Liban; nhiều nhà hàng khác nhau có thể phù hợp, từ Liban thuần túy (phù hợp nhất) đến Hy Lạp (ít liên quan nhất). Trong trường hợp này, bạn có thể sử dụng mức độ thiên vị mạnh hoặc yếu, tuỳ chọn này sẽ quảng bá mạnh hoặc yếu các kết quả có giá trị của bạn nhưng sẽ không loại trừ các kết quả không có giá trị đó. Bạn chỉ định độ chệch hướng mạnh hoặc yếu bằng cách thêm giá trị thứ hai sau hướng sắp xếp: &sort=TYPE-NAME:DIRECTION:STRENGTH, :s nếu áp dụng độ chệch mạnh mạnh hoặc :w cho độ chệch yếu (và :h cho độ chệch khó, mặc dù việc thêm :h là không bắt buộc vì đây là chế độ mặc định). Ví dụ: việc thêm sai lệch lớn sẽ đảm bảo rằng các nhà hàng Địa Trung Hải được xếp hạng tốt nhất sẽ tốt hơn các nhà hàng Địa Trung Hải được xếp hạng kém nhất, nhưng ít có khả năng các nhà hàng này sẽ xếp hạng cao hơn một kết quả trùng khớp chính xác đối với một nhà hàng Liban:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s

Bạn có thể kết hợp nhiều độ lệch bằng toán tử dấu phẩy:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s,review-pricerange:d:w

Thứ tự của độ chệch hướng không quan trọng. Tuy nhiên, bạn không thể kết hợp kiểu sắp xếp cứng với bất kỳ kiểu sắp xếp nào khác vì thực thi thứ tự nghiêm ngặt. Toán tử sắp xếp gần đây nhất mà bạn chỉ định trong danh sách sẽ ghi đè tất cả các toán tử sắp xếp và toán tử xu hướng trước đó.

Trở lại đầu trang

Giới hạn trong phạm vi

Để đưa các kết quả vào giữa một phạm vi giá trị trở lên hoặc thấp hơn một giá trị, hãy sử dụng giới hạn phạm vi. Giới hạn phạm vi được chỉ định bằng :r nối vào tên thuộc tính, theo sau là giới hạn trên và giới hạn dưới trên giá trị thuộc tính: &sort=TYPE-NAME:r:LOWER:UPPER. Ví dụ: để chỉ bao gồm các bài đánh giá được viết từ tháng 3 đến tháng 4 năm 2009, bạn có thể chỉ định giới hạn phạm vi là:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r:20090301:20090430

Đối với toán tử Hạn chế trong phạm vi, Google hỗ trợ các số ở định dạng số thực và ngày theo ISO 8601 YYYYMMDD mà không có dấu gạch ngang.

Bạn không cần chỉ định giới hạn trên hoặc giới hạn dưới: ví dụ: để chỉ chỉ định các ngày trước năm 2009, bạn có thể viết:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r::20091231

Để chỉ xem xét điểm xếp hạng trên 3 sao, hãy sử dụng các tiêu chí sau:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars:r:3.0

Các phạm vi có thể bao gồm và có thể được kết hợp với toán tử dấu phẩy với nhau hoặc với một loại hoặc một hoặc nhiều tiêu chí thiên vị. Lưu ý rằng việc kết hợp hạn chế phạm vi với cả tiêu chí sắp xếp và thiên vị sẽ chỉ dẫn đến việc sắp xếp các mục có giá trị trong dải ô. Ví dụ: để chỉ sắp xếp các mục có 3 sao trở lên, hãy sử dụng các tuỳ chọn sau:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,rating-stars:r:3.0

Bạn có thể sắp xếp trên một tiêu chí và hạn chế theo phạm vi so với một tiêu chí khác. Ví dụ: để chỉ sắp xếp theo điểm xếp hạng cho các mục được đánh giá trong tháng 10, hãy sử dụng các hàm sau:

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,review-date:r:20101001:20101031

Tìm kiếm hình ảnh

Khi bạn bật tính năng Tìm kiếm hình ảnh cho công cụ tìm kiếm của mình, Google sẽ hiển thị kết quả tìm kiếm hình ảnh trong một thẻ riêng. Bạn có thể bật tính năng tìm kiếm hình ảnh bằng cách sử dụng bảng điều khiển của Công cụ tìm kiếm có thể lập trình hoặc cập nhật tệp context.xml.

Tính năng Tìm kiếm hình ảnh dựa vào thông tin mà Google tìm thấy khi thu thập dữ liệu trên trang web của bạn. Để cải thiện cách hình ảnh của bạn hiển thị trong kết quả tìm kiếm (cả trong Công cụ tìm kiếm có thể lập trình và Google Tìm kiếm trên web), bạn nên làm quen với nguyên tắc xuất bản hình ảnh của Google.

Lọc theo thuộc tính hình ảnh

Giống như Tìm kiếm trên web, tìm kiếm hình ảnh hỗ trợ lọc theo các thuộc tính như src, alttitle.

Trở lại đầu trang

Tính năng tìm kiếm có cấu trúc trong Phần tử tìm kiếm có thể lập trình

Các tính năng của kết quả tìm kiếm có cấu trúc cũng có thể được sử dụng cùng với Phần tử tìm kiếm có thể lập trình của Google. Cũng giống như các toán tử biểu thị trong truy vấn hoặc tham số URL, tính năng tìm kiếm có cấu trúc trong phần tử trước tiên yêu cầu các trang bạn đang tìm kiếm phải được đánh dấu bằng các thuộc tính bạn muốn tìm kiếm; sau đó toán tử sort của Phần tử tìm kiếm có thể lập trình kết hợp với toán tử more:pagemap: trong truy vấn sẽ sắp xếp hoặc hạn chế kết quả tìm kiếm một cách thích hợp.

Ví dụ: SignOnSanDiego.com, một cổng thông tin của California, sử dụng Phần tử tìm kiếm có thể lập trình để hiển thị các tin bài gần đây kèm theo ảnh trong kết quả:

Để đảm bảo độc giả không chỉ nhìn thấy tin tức phù hợp nhất mà còn kịp thời,SignOnSanDiego sử dụng Xu hướng theo thuộc tính có trọng số "mạnh" đối với các ngày xuất bản gần đây. SignOnSanDiego triển khai các thuộc tính ngày này bằng PageMaps; một thuộc tính do SignOnSanDiego sử dụng sẽ có dạng như sau:

<!--
  <PageMap>
    <DataObject type="date">
      <Attribute name="displaydate" value="Wednesday, August 25, 2010"/>
      <Attribute name="sdate" value="20100825"/>
    </DataObject>

    <DataObject type="thumbnail">
      <Attribute name="src" value="http://media.signonsandiego.com/img/photos/2010/08/25/635a63e9-f4a1-45aa-835a-ebee666b82e0news.ap.org_t100.jpg"/>
      <Attribute name="width" value="100"/>
    </DataObject>
  </PageMap>
  -->

Để áp dụng tính năng Sắp xếp theo thuộc tính cho trường này, bạn hãy đặt tuỳ chọn sort trong mã tìm kiếm cho Phần tử tìm kiếm có thể lập trình như bên dưới:

...
<div class="gcse-search" sort_by="date-sdate:d:s"></div>
...

Tương tự như tham số URL &sort= được mô tả ở trên, tuỳ chọn sắp xếp trong Phần tử tìm kiếm có thể lập trình <div class="gcse-search" sort_by="date-sdate:d:s"></div> sẽ nhận một tên thuộc tính kết hợp như date-sdate và một số tham số không bắt buộc được phân tách bằng dấu hai chấm. Trong trường hợp này, SignOnSanDiego đã chỉ định sắp xếp theo thứ tự giảm dần d bằng cách sử dụng phiên bản s có xu hướng mạnh của toán tử. Nếu bạn không cung cấp bộ hạn định, theo mặc định, hãy sử dụng thứ tự giảm dần với cách sắp xếp cố định, giống như trong trường hợp toán tử URL.

Tuỳ chọn sắp xếp cũng bật tính năng Hạn chế theo phạm vi. Ví dụ: một trang web như SignOnSanDiego có thể cho phép người dùng tìm kiếm các bài viết xuất bản từ ngày 25 tháng 8 đến ngày 9 tháng 9 năm 2010. Để triển khai việc này, bạn có thể đặt các tuỳ chọn sắp xếp thành date-sdate:r:20100825:20100907. Hàm này một lần nữa sử dụng tên thuộc tính kết hợp date-sdate, nhưng thay vào đó lại giới hạn ở phạm vi r của các giá trị được chỉ định 20100825:20100907. Tương tự như với tham số URL, bạn có thể bỏ qua mục trên hoặc dưới của dải ô trong tuỳ chọn sort của Phần tử tìm kiếm có thể lập trình.

Một tính năng hiệu quả khác của tuỳ chọn sắp xếp là bạn có thể kết hợp Sắp xếp theo Thuộc tính và Hạn chế theo Phạm vi. Bạn có thể kết hợp nhiều toán tử trong tuỳ chọn sắp xếp bằng dấu phẩy. Ví dụ: để kết hợp xu hướng rõ ràng củaSignOnSanDiego với giới hạn ngày ở trên, bạn sẽ chỉ định date-sdate:d:s,date-sdate:r:20100825:20100907. Tính năng này có thể kết hợp các thuộc tính riêng biệt; ví dụ: một trang web đánh giá phim có thể hiển thị những bộ phim được xếp hạng cao nhất được phát hành trong tuần qua khi bạn chọn review-rating,release-date:r:20100907:.

Vui lòng tham khảo trang này để biết tất cả các thuộc tính được hỗ trợ.

Bạn cũng có thể sử dụng tính năng Lọc theo thuộc tính bằng Phần tử tìm kiếm có thể lập trình. Ví dụ: hãy xem ví dụ trước đây của chúng tôi với các trang có thuộc tính linked-blog; để tạo một chế độ kiểm soát tìm kiếm tuỳ chỉnh chỉ trả về các trang được liên kết để dùng mã sau đây nhằm chèn một toán tử more:pagemap:linked-blog:blogspot vào mọi truy vấn:

...
<div class="gcse-search" webSearchQueryAddition="more:pagemap:linked-blog:blogspot"></div>
...

Phương thức này tương đối không linh hoạt vì có thêm hạn chế đối với tất cả các truy vấn phát hành từ chế độ kiểm soát này. Để xem các tuỳ chọn khác, hãy tham khảo tài liệu về Phần tử tìm kiếm có thể lập trình.

Trở lại đầu trang

Khám phá các tính năng khác

Các tính năng của kết quả tìm kiếm có cấu trúc là một tập hợp các tuỳ chọn hữu ích, mang lại cho bạn nhiều quyền kiểm soát đối với ứng dụng tìm kiếm của bạn, cho phép bạn sử dụng các thuộc tính tuỳ chỉnh để sắp xếp và giới hạn kết quả tìm kiếm theo những cách rất hiệu quả cho người dùng. Công cụ tìm kiếm có cấu trúc cũng hoạt động hiệu quả với các tính năng khác của Công cụ tìm kiếm có thể lập trình, chẳng hạn như đoạn thông tin của kết quả tuỳ chỉnh. Để biết thêm thông tin: