本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將常見問答集 (FAQs) 新增至索引
注意
功能支援會因索引類型和正在使用的搜尋 API 而有所不同。若要查看索引類型是否支援此功能,並搜尋您正在使用的 API,請參閱索引類型。
您可以使用主控台或 FAQs 直接將常見問答集 CreateFaq(Word) 新增至您的索引。 API將 FAQs 新增至索引是非同步操作。您可以將 FAQ 的資料放入存放在 Amazon Simple Storage Service 儲存貯體的檔案中。您可以使用 CSV 或 JSON 檔案做為 FAQ 的輸入:
-
基本CSV - 每列都包含問題、答案和選用來源URI的字詞CSV檔案。
-
自訂 CSV - 包含自訂欄位/屬性的問題、答案和標頭的 CSV 檔案,可用於面向、顯示或排序 FAQ 回應。您也可以定義存取控制欄位,將 FAQ 回應限制為允許查看 FAQ 回應的特定使用者和群組。
-
JSON - 包含問題、答案和自訂欄位/屬性的 JSON 檔案,可用於面向、顯示或排序 FAQ 回應。您也可以定義存取控制欄位,將 FAQ 回應限制為允許查看 FAQ 回應的特定使用者和群組。
例如,以下是基本的 CSV 檔案,提供對 Spokane、Washington USA 和 Mountain View、Missouri、USA 中免費診所問題的解答。
How many free clinics are in Spokane WA?, 13
How many free clinics are there in Mountain View Missouri?, 7
注意
FAQ 檔案必須是 UTF-8 編碼的檔案。
建立 FAQ 檔案的索引欄位
注意
功能支援會因索引類型和正在使用的搜尋 API 而有所不同。若要查看索引類型是否支援此功能並搜尋您正在使用的 API,請參閱索引類型。
當您使用自訂 CSV 或 JSON 檔案進行輸入時,您可以為 FAQ 問題宣告自訂欄位。例如,您可以建立自訂欄位,將每個 FAQ 問題指派給業務單位。當回應中傳回 FAQ 時,您可以使用 部門做為構面,將搜尋縮小為僅「HR」或「財務」。
自訂欄位必須對應至索引欄位。在 主控台中,您可以使用面向定義頁面來建立索引欄位。使用 API 時,您必須先使用 UpdateIndex 建立索引欄位API。
FAQ 檔案中的欄位/屬性類型必須符合相關聯的索引欄位類型。例如,「部門」欄位是STRING_LIST
類型欄位。因此,您必須提供部門欄位的值作為 FAQ 檔案中的字串清單。您可以使用主控台中的面向定義頁面或使用 DescribeIndex API檢查索引欄位的類型。
當您建立映射到自訂屬性的索引欄位時,您可以標記它可顯示、面向或可排序。您無法將自訂屬性設為可搜尋。
除了自訂屬性之外,您也可以使用自訂 Amazon Kendra CSV 或 JSON 檔案中的預留或常用欄位。如需詳細資訊,請參閱文件屬性或欄位。
基本 CSV 檔案
當您想要為 CSV 使用簡單的結構時,請使用基本的 FAQs 檔案。在基本 CSV 檔案中,每一列都有兩個或三個欄位:問題、答案和選用來源 URI,指向具有更多資訊的文件。
檔案的內容必須遵循逗號分隔值 (Word) 檔案的 RFC 4180 通用格式和 MIMECSV 類型
以下是基本 FAQ 格式的 CSV 檔案。
How many free clinics are in Spokane WA?, 13, https://s3.region.company.com/bucket-name/directory/faq.csv
How many free clinics are there in Mountain View Missouri?, 7, https://s3.region.company.com/bucket-name/directory/faq.csv
自訂 CSV 檔案
當您想要將自訂欄位/屬性新增至 CSV 問題時,請使用自訂 FAQ 檔案。對於自訂 CSV 檔案,您可以使用 CSV 檔案中的標頭列來定義其他屬性。
CSV 檔案必須包含下列兩個必要欄位:
-
_question
- 常見問題 -
_answer
- 常見問題的答案
您的 檔案可以同時包含 Amazon Kendra 預留欄位和自訂欄位。以下是自訂 CSV 檔案的範例。
_question,_answer,_last_updated_at,custom_string
How many free clinics are in Spokane WA?, 13, 2012-03-25T12:30:10+01:00, Note: Some free clinics require you to meet certain criteria in order to use their services
How many free clinics are there in Mountain View Missouri?, 7, 2012-03-25T12:30:10+01:00, Note: Some free clinics require you to meet certain criteria in order to use their services
自訂檔案的內容必須遵循逗號分隔值 (Word) 檔案的 RFC 4180 常用格式和 MIMECSV 類型
下列列出自訂欄位的類型:
-
日期 - ISO 8601 編碼的日期和時間值。
例如,2012-03-25T12 日下午 12:30 (加上 10 秒),歐洲中部時區的 2012 年 3 月 25 日 ISO 8601 日期時間格式為 2012 年 3 月 25 日。
-
長 - 數字,例如
1234
。 -
字串 - 字串值。如果您的字串包含逗號,請以雙引號 (") 括住整個值 (例如
"custom attribute, and more"
)。 -
字串清單 - 字串值的清單。列出逗號分隔清單中以引號 (") 括住的值 (例如
"item1, item2, item3"
)。如果清單只包含單一項目,您可以省略引號 (例如item1
)。
自訂 CSV 檔案可以包含使用者存取控制欄位。您可以使用這些欄位,將 FAQ 的存取限制為特定使用者和群組。若要篩選使用者內容,使用者必須在查詢中提供使用者和群組資訊。否則,會傳回所有相關 FAQs。如需詳細資訊,請參閱使用者內容篩選。
以下列出 FAQs 的使用者內容篩選條件:
-
_acl_user_allow
—允許清單中的使用者可以在查詢回應中看到 FAQ。FAQ 不會傳回給其他使用者。 -
_acl_user_deny
- 拒絕清單中的使用者無法在查詢回應中看到 FAQ。當 FAQ 與查詢相關時,會傳回給所有其他使用者。 -
_acl_group_allow
- 作為允許群組成員的使用者可以在查詢回應中看到 FAQ。此 FAQ 不會傳回給屬於另一個群組的使用者。 -
_acl_group_deny
- 拒絕群組成員的使用者在查詢回應中看不到 FAQ。當 FAQ 與查詢相關時,會傳回給其他群組。
在以引號括住的逗號分隔清單中提供允許和拒絕清單的值 (例如,"user1,user2,user3"
)。您可以在允許清單或拒絕清單中包含使用者或群組,但不能同時包含個別允許相同使用者,但也拒絕群組的使用者。如果您在兩者中都包含使用者或群組,則會收到錯誤。
以下是具有使用者內容資訊的自訂 CSV 檔案範例。
_question, _answer, _acl_user_allow, _acl_user_deny, _acl_group_allow, _acl_group_deny How many free clinics are in Spokane WA?, 13, "userID6201,userID7552", "userID1001,userID2020", groupBasicPlusRate, groupPremiumRate
JSON 檔案
您可以使用 JSON 檔案來提供索引的問題、答案和欄位。您可以將任何 Amazon Kendra 預留欄位或自訂欄位新增至 FAQ。
以下是 JSON 檔案的結構描述。
{ "SchemaVersion": 1, "FaqDocuments": [ { "Question": string, "Answer": string, "Attributes": { string: object additional attributes }, "AccessControlList": [ { "Name": string, "Type": enum( "GROUP" | "USER" ), "Access": enum( "ALLOW" | "DENY" ) },
additional user context
] },additional FAQ documents
] }
下列範例 JSON 檔案顯示兩個 FAQ 文件。其中一個文件只有必要的問題和答案。其他文件也包含其他欄位和使用者內容或存取控制資訊。
{ "SchemaVersion": 1, "FaqDocuments": [ { "Question": "How many free clinics are in Spokane WA?", "Answer": "13" }, { "Question": "How many free clinics are there in Mountain View Missouri?", "Answer": "7", "Attributes": { "_source_uri": "https://s3.region.company.com/bucket-name/directory/faq.csv", "_category": "Charitable Clinics" }, "AccessControlList": [ { "Name": "user@amazon.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "Admin", "Type": "GROUP", "Access": "ALLOW" } ] } ] }
下列列出自訂欄位的類型:
-
Date - 具有 JSON 8601 編碼日期和時間值的 ISO 字串值。例如,2012-03-25T12 日下午 12:30 (加上 10 秒),歐洲中部時區的 2012 年 3 月 25 日 ISO 8601 日期時間格式為 2012 年 3 月 25 日。
-
長 - JSON數字值,例如
1234
。 -
String—JSON 字串值 (例如
"custom attribute"
)。 -
字串清單 - 字串值的 JSON 陣列 (例如,
["item1,item2,item3"]
)。
JSON 檔案可以包含使用者存取控制欄位。您可以使用這些欄位,將 FAQ 的存取限制為特定使用者和群組。若要篩選使用者內容,使用者必須在查詢中提供使用者和群組資訊。否則,會傳回所有相關 FAQs。如需詳細資訊,請參閱使用者內容篩選。
您可以在允許清單或拒絕清單中包含使用者或群組,但不能同時包含個別允許相同使用者,但也拒絕群組的使用者。如果您在兩者中都包含使用者或群組,則會收到錯誤。
以下是包含 JSON 使用者存取控制的範例FAQ。
"AccessControlList": [ { "Name": "group or user name", "Type": "GROUP | USER", "Access": "ALLOW | DENY" },
additional user context
]
使用您的 FAQ 檔案
將 FAQ 輸入檔案存放在 S3 儲存貯體之後,您可以使用 主控台或 CreateFaq
API 將問題和答案放入您的索引。如果您想要更新 FAQ,請刪除該 FAQ 並再次建立。您可以使用 DeleteFaq
API 刪除 FAQ。
您必須提供可存取包含來源檔案之 S3 儲存貯體 IAM 的角色。您可以在 主控台或 RoleArn
參數中指定角色。以下是將 FAQ 檔案新增至索引的範例。
英文以外語言的 FAQ 檔案
您可以為支援語言的 FAQ 編製索引。如果您未指定語言,則預設會以英文為 FAQs 編製 Amazon Kendra 索引。您可以在呼叫 CreateFaq 操作時指定語言代碼,也可以在 FAQ 中繼資料中包含 FAQ 的語言代碼做為 欄位。如果 FAQ 在中繼資料欄位中指定的中繼資料中沒有語言代碼,則該 FAQ 會使用您呼叫 CreateFAQ
操作時指定的語言代碼編製索引。若要在 主控台中以支援的語言編製 FAQ 文件索引,請前往 FAQs 並選取新增 FAQ。您可以從下拉式清單中選擇語言。