SearchResponse

Phản hồi của API tìm kiếm. Mã NEXT: 17

Biểu diễn dưới dạng JSON
{
  "queryInterpretation": {
    object (QueryInterpretation)
  },
  "results": [
    {
      object (SearchResult)
    }
  ],
  "structuredResults": [
    {
      object (StructuredResult)
    }
  ],
  "spellResults": [
    {
      object (SpellResult)
    }
  ],
  "facetResults": [
    {
      object (FacetResult)
    }
  ],
  "hasMoreResults": boolean,
  "debugInfo": {
    object (ResponseDebugInfo)
  },
  "errorInfo": {
    object (ErrorInfo)
  },
  "resultCounts": {
    object (ResultCounts)
  },

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
Trường
queryInterpretation

object (QueryInterpretation)

Kết quả diễn giải truy vấn cho truy vấn của người dùng. Trống nếu tính năng diễn giải truy vấn bị tắt.

results[]

object (SearchResult)

Kết quả của một cụm từ tìm kiếm.

structuredResults[]

object (StructuredResult)

Kết quả có cấu trúc cho cụm từ tìm kiếm của người dùng. Những kết quả này không được tính vào pageSize.

spellResults[]

object (SpellResult)

Cách viết chính tả đề xuất cho truy vấn.

facetResults[]

object (FacetResult)

Kết quả lặp lại theo phương diện.

hasMoreResults

boolean

Liệu có kết quả tìm kiếm nào khác khớp với cụm từ tìm kiếm hay không.

debugInfo

object (ResponseDebugInfo)

Thông tin gỡ lỗi về phản hồi.

errorInfo

object (ErrorInfo)

Thông tin lỗi về phản hồi.

resultCounts

object (ResultCounts)

Mở rộng thông tin về số lượng kết quả.

Trường hợp hợp nhất result_count. Tổng số kết quả trên tất cả các nguồn dữ liệu được yêu cầu. Bỏ qua nếu các nguồn được xác định trước có trong tập hợp nguồn dữ liệu được truy vấn. Số lượng kết quả có thể được trả về dưới dạng số liệu ước tính thay vì số liệu chính xác trong các trường hợp sau:

  • Khi cụm từ tìm kiếm có nhiều hơn 2 cụm từ, chẳng hạn như "kết quả chính xác" trong dấu ngoặc kép.

  • Khi số lượng ACL kết quả tìm kiếm riêng biệt cần đánh giá quá lớn để tính toán trong độ trễ hợp lý.

Trong trường hợp hiếm gặp khi hệ thống không thể tìm kiếm trong tất cả tài liệu, hãy chạy lại truy vấn. result_count chỉ có thể là một trong những giá trị sau:

resultCountEstimate

string (int64 format)

Số lượng kết quả ước tính cho truy vấn này.

resultCountExact

string (int64 format)

Số lượng kết quả chính xác cho cụm từ tìm kiếm này.

QueryInterpretation

Biểu diễn dưới dạng JSON
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason),
  "interpretedQueryActualResultCount": integer,
  "interpretedQueryEstimatedResultCount": string
}
Trường
interpretedQuery

string

Nội dung diễn giải cụm từ tìm kiếm được dùng trong kết quả tìm kiếm. Ví dụ: các cụm từ tìm kiếm có ý định bằng ngôn ngữ tự nhiên như "email from john" (email của john) sẽ được diễn giải là "from:john source:mail". Trường này sẽ không được điền khi lý do là NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

Lý do diễn giải truy vấn. Trường này sẽ không có giá trị UNSPECIFIED nếu loại bản dịch không phải là NONE.

interpretedQueryActualResultCount

integer

Số kết quả thực tế được truy vấn được diễn giải trả về.

interpretedQueryEstimatedResultCount

string (int64 format)

Số kết quả ước tính được trả về bởi truy vấn được diễn giải.

QueryInterpretation.InterpretationType

Enum
NONE Hệ thống không sử dụng bản dịch ngôn ngữ tự nhiên cũng như phiên bản rộng hơn của cụm từ tìm kiếm để tìm nạp kết quả tìm kiếm.
BLEND Kết quả từ cụm từ tìm kiếm ban đầu được kết hợp với các kết quả khác. Lý do kết hợp các kết quả khác này với kết quả từ truy vấn ban đầu được điền vào trường "reason" (lý do) bên dưới.
REPLACE Kết quả từ truy vấn ban đầu sẽ được thay thế. Lý do thay thế kết quả từ truy vấn ban đầu được điền vào trường "reason" (lý do) bên dưới.

QueryInterpretation.Reason

Enum
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT Hệ thống sẽ diễn giải cụm từ tìm kiếm bằng ngôn ngữ tự nhiên để tìm nạp kết quả tìm kiếm.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY Mức độ tương đồng giữa cụm từ tìm kiếm và cụm từ trong tài liệu được dùng để mở rộng truy vấn một cách có chọn lọc nhằm truy xuất thêm kết quả tìm kiếm vì không tìm thấy đủ kết quả cho cụm từ tìm kiếm của người dùng. Truy vấn được diễn giải sẽ trống trong trường hợp này.

SearchResult

Kết quả chứa thông tin đã lập chỉ mục cho một tài liệu.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "url": string,
  "snippet": {
    object (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
Trường
title

string

Tiêu đề của kết quả tìm kiếm.

url

string

URL của kết quả tìm kiếm. URL chứa lệnh chuyển hướng của Google đến mục thực tế. URL này đã được ký và không được thay đổi.

snippet

object (Snippet)

Chuỗi kết hợp của tất cả các đoạn mã (tóm tắt) có sẵn cho kết quả này.

metadata

object (Metadata)

siêu dữ liệu của kết quả tìm kiếm.

clusteredResults[]

object (SearchResult)

Nếu nguồn được cụm, hãy cung cấp danh sách kết quả được cụm. Sẽ chỉ có một cấp kết quả được nhóm lại. Nếu bạn chưa bật tính năng cụm từ cho nguồn hiện tại, trường này sẽ trống.

debugInfo

object (ResultDebugInfo)

Thông tin gỡ lỗi về kết quả tìm kiếm này.

Đoạn trích

Đoạn trích kết quả tìm kiếm, tóm tắt nội dung của trang kết quả.

Biểu diễn dưới dạng JSON
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
Trường
snippet

string

Đoạn trích của tài liệu. Có thể chứa ký tự HTML đã thoát cần được huỷ thoát trước khi hiển thị.

matchRanges[]

object (MatchRange)

Các dải ô được so khớp trong đoạn mã.

MatchRange

Phạm vi trùng khớp của một đoạn mã [start, end].

Biểu diễn dưới dạng JSON
{
  "start": integer,
  "end": integer
}
Trường
start

integer

Vị trí bắt đầu của nội dung khớp trong đoạn mã.

end

integer

Kết thúc nội dung so khớp trong đoạn mã.

Metadata

siêu dữ liệu của một kết quả tìm kiếm phù hợp.

Biểu diễn dưới dạng JSON
{
  "source": {
    object (Source)
  },
  "mimeType": string,
  "thumbnailUrl": string,
  "owner": {
    object (Person)
  },
  "createTime": string,
  "updateTime": string,
  "fields": [
    {
      object (NamedProperty)
    }
  ],
  "displayOptions": {
    object (ResultDisplayMetadata)
  },
  "objectType": string
}
Trường
source

object (Source)

Nguồn được đặt tên cho kết quả, chẳng hạn như Gmail.

mimeType

string

Loại MIME của kết quả tìm kiếm.

thumbnailUrl

string

URL hình thu nhỏ của kết quả.

owner

object (Person)

chủ sở hữu (thường là người tạo) của tài liệu hoặc đối tượng của kết quả tìm kiếm.

createTime

string (Timestamp format)

Thời gian tạo tài liệu hoặc đối tượng này trong kết quả tìm kiếm.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo Z và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ dời khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Ngày sửa đổi gần nhất của đối tượng trong kết quả tìm kiếm. Nếu không được đặt trong mục, giá trị được trả về tại đây sẽ trống. Khi updateTime được dùng để tính độ mới và không được đặt, giá trị này sẽ mặc định là 2 năm kể từ thời điểm hiện tại.

Sử dụng RFC 3339, trong đó đầu ra được tạo sẽ luôn được chuẩn hoá theo Z và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các độ dời khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

fields[]

object (NamedProperty)

Các trường được lập chỉ mục trong dữ liệu có cấu trúc, được trả về dưới dạng một thuộc tính có tên chung.

displayOptions

object (ResultDisplayMetadata)

các tuỳ chọn chỉ định cách hiển thị kết quả tìm kiếm dữ liệu có cấu trúc.

objectType

string

Loại đối tượng của kết quả tìm kiếm.

ResultDisplayMetadata

Biểu diễn dưới dạng JSON
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
Trường
objectTypeLabel

string

Nhãn hiển thị cho đối tượng.

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

Nội dung metalines sẽ hiển thị cùng với kết quả.

ResultDisplayMetadata.ResultDisplayLine

Tập hợp các trường tạo nên một dòng hiển thị

Biểu diễn dưới dạng JSON
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
Trường
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

Hiển thị trường cho kết quả tìm kiếm

Biểu diễn dưới dạng JSON
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
Trường
label

string

Nhãn hiển thị của cơ sở lưu trú.

operatorName

string

Tên của nhà vận hành cơ sở lưu trú.

property

object (NamedProperty)

Cặp giá trị tên cho thuộc tính.

ResultDebugInfo

Thông tin gỡ lỗi về kết quả.

Biểu diễn dưới dạng JSON
{
  "formattedDebugInfo": string
}
Trường
formattedDebugInfo

string

Thông tin gỡ lỗi chung được định dạng để hiển thị.

StructuredResult

Kết quả có cấu trúc được trả về trong yêu cầu tìm kiếm.

Biểu diễn dưới dạng JSON
{

  // Union field structured_result can be only one of the following:
  "person": {
    object (Person)
  }
  // End of list of possible types for union field structured_result.
}
Trường

Trường hợp hợp nhất structured_result.

structured_result chỉ có thể là một trong những giá trị sau:

person

object (Person)

Hình ảnh đại diện cho một người

SpellResult

Biểu diễn dưới dạng JSON
{
  "suggestedQuery": string,
  "suggestionType": enum (SpellResult.SuggestionType),
  "suggestedQueryHtml": {
    object (SafeHtmlProto)
  }
}
Trường
suggestedQuery

string

Cách viết chính tả đề xuất của truy vấn.

suggestionType

enum (SpellResult.SuggestionType)

đề xuất được kích hoạt cho truy vấn hiện tại.

suggestedQueryHtml

object (SafeHtmlProto)

HTML đã được dọn dẹp đại diện cho truy vấn đã sửa lỗi chính tả có thể được sử dụng trong giao diện người dùng. Tệp này thường có các thẻ dành riêng cho ngôn ngữ để đánh dấu các phần của cụm từ tìm kiếm được kiểm tra chính tả.

SpellResult.SuggestionType

Loại đề xuất được kích hoạt cho cụm từ tìm kiếm.

Enum
SUGGESTION_TYPE_UNSPECIFIED Loại kiểm tra chính tả mặc định
NON_EMPTY_RESULTS_SPELL_SUGGESTION Đề xuất chính tả mà không có kết quả nào thay đổi. Kết quả vẫn hiển thị cho cụm từ tìm kiếm ban đầu (có kết quả khác 0) cùng với một đề xuất về cách viết có kết quả.
ZERO_RESULTS_FULL_PAGE_REPLACEMENT Tính năng đề xuất chính tả được kích hoạt khi cụm từ tìm kiếm ban đầu không có kết quả. Khi cụm từ tìm kiếm gốc không có kết quả và cụm từ gợi ý chính tả có kết quả, chúng tôi sẽ kích hoạt kết quả cho cụm từ tìm kiếm đã sửa chính tả.

SafeHtmlProto

LƯU Ý QUAN TRỌNG: Bạn không nên chấp nhận thư này từ một nguồn không đáng tin cậy, vì kẻ tấn công có thể dễ dàng tạo thư đã chuyển đổi tuần tự không đáp ứng hợp đồng an toàn của loại thư đó – ví dụ: thư có thể chứa tập lệnh do kẻ tấn công kiểm soát. Hệ thống nhận được SafeHtmlProto ngầm tin tưởng nhà sản xuất của SafeHtmlProto. Vì vậy, bạn có thể an toàn khi trả về thông báo này trong các phản hồi RPC, nhưng thường không an toàn khi chấp nhận thông báo này trong các yêu cầu RPC.

Biểu diễn dưới dạng JSON
{
  "privateDoNotAccessOrElseSafeHtmlWrappedValue": string
}
Trường
privateDoNotAccessOrElseSafeHtmlWrappedValue

string

LƯU Ý QUAN TRỌNG: Không bao giờ đặt hoặc đọc trường này, ngay cả trong các thử nghiệm, vì trường này là riêng tư. Xem tài liệu ở đầu tệp .proto để biết các gói ngôn ngữ lập trình dùng để tạo hoặc đọc thông báo này.

FacetResult

Phản hồi theo phương diện dành riêng cho nguồn

Biểu diễn dưới dạng JSON
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
Trường
sourceName

string

Tên nguồn trả về kết quả phương diện. Không được để trống.

objectType

string

Loại đối tượng mà kết quả của phương diện được trả về. Có thể để trống.

operatorName

string

Tên của toán tử được chọn để phân tách. @xem cloudsearch.SchemaPropertyOptions

buckets[]

object (FacetBucket)

FacetBuckets cho các giá trị trong phản hồi chứa ít nhất một kết quả có bộ lọc tương ứng.

FacetBucket

Một nhóm trong một phương diện là đơn vị hoạt động cơ bản. Một nhóm có thể bao gồm một giá trị hoặc một dải giá trị liền kề, tuỳ thuộc vào loại trường được nhóm. FacetBucket hiện chỉ được dùng để trả về đối tượng phản hồi.

Biểu diễn dưới dạng JSON
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },

  // Union field bucket_value can be only one of the following:
  "value": {
    object (Value)
  }
  // End of list of possible types for union field bucket_value.
}
Trường
count

integer

Số kết quả khớp với giá trị nhóm. Số liệu chỉ được trả về cho các lượt tìm kiếm khi đảm bảo tính chính xác của số liệu. Cloud Search không đảm bảo số lượng phương diện cho bất kỳ cụm từ tìm kiếm nào và số lượng phương diện có thể chỉ xuất hiện không liên tục, ngay cả đối với các cụm từ tìm kiếm giống hệt nhau. Không tạo các phần phụ thuộc dựa trên sự tồn tại của số lượng phương diện; thay vào đó, hãy sử dụng tỷ lệ phần trăm số lượng phương diện luôn được trả về.

percentage

integer

Tỷ lệ phần trăm kết quả khớp với giá trị nhóm. Giá trị được trả về nằm trong khoảng (0-100] và được làm tròn xuống số nguyên nếu là số thập phân. Nếu không được trả về một cách rõ ràng, giá trị này sẽ biểu thị một giá trị phần trăm được làm tròn thành 0. Tỷ lệ phần trăm được trả về cho tất cả các cụm từ tìm kiếm, nhưng đây là tỷ lệ phần trăm ước tính. Vì tỷ lệ phần trăm luôn được trả về, nên bạn nên hiển thị tỷ lệ phần trăm thay vì số lượng.

filter

object (Filter)

Bộ lọc sẽ được truyền trong yêu cầu tìm kiếm nếu bạn chọn bộ chứa tương ứng.

Trường hợp hợp nhất bucket_value. Phạm vi hoặc giá trị của bộ chứa được phân tích theo phương diện bucket_value chỉ có thể là một trong những giá trị sau:
value

object (Value)

ResponseDebugInfo

Thông tin gỡ lỗi về phản hồi.

Biểu diễn dưới dạng JSON
{
  "formattedDebugInfo": string
}
Trường
formattedDebugInfo

string

Thông tin gỡ lỗi chung được định dạng để hiển thị.

ErrorInfo

Thông tin lỗi về phản hồi.

Biểu diễn dưới dạng JSON
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
Trường
errorMessages[]

object (ErrorMessage)

ErrorMessage

Thông báo lỗi cho mỗi phản hồi nguồn.

Biểu diễn dưới dạng JSON
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
Trường
source

object (Source)

errorMessage

string

ResultCounts

Thông tin về số lượng kết quả

Biểu diễn dưới dạng JSON
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
Trường
sourceResultCounts[]

object (SourceResultCount)

Thông tin về số lượng kết quả cho mỗi nguồn có kết quả.

SourceResultCount

Thông tin về số lượng kết quả theo nguồn.

Biểu diễn dưới dạng JSON
{
  "source": {
    object (Source)
  },
  "hasMoreResults": boolean,

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
Trường
source

object (Source)

Nguồn liên kết với thông tin về số lượng kết quả.

hasMoreResults

boolean

Liệu có thêm kết quả tìm kiếm nào cho nguồn này không.

Trường hợp hợp nhất result_count.

result_count chỉ có thể là một trong những giá trị sau:

resultCountEstimate

string (int64 format)

Số lượng kết quả ước tính cho nguồn này.

resultCountExact

string (int64 format)

Số kết quả chính xác cho nguồn này.