Penyaringan dan pencarian faset - Amazon Kendra

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penyaringan dan pencarian faset

Anda dapat meningkatkan hasil penelusuran atau respons dari Query API dengan menggunakan filter. Filter membatasi dokumen dalam merespons hal-hal yang langsung berlaku untuk kueri. Untuk membuat saran penelusuran segi, gunakan logika Boolean untuk menyaring atribut dokumen tertentu dari respons atau dokumen yang tidak sesuai dengan kriteria tertentu. Anda dapat menentukan aspek menggunakan Facets parameter di Query API.

Untuk mencari dokumen yang telah Anda indeks Amazon Lex, gunakan Amazon Kendra AMAZON. KendraSearchIntent. Untuk contoh mengonfigurasi Amazon Kendra dengan Amazon Lex, lihat Membuat Bot FAQ untuk Indeks. Amazon Kendra Anda juga dapat memberikan filter untuk respons dengan menggunakan AttributeFilter. Ini adalah filter kueri di JSON saat mengkonfigurasiAMAZON.KendraSearchIntent. Untuk menyediakan filter atribut saat mengonfigurasi maksud penelusuran di konsol, buka editor maksud dan pilih Amazon Kendra kueri untuk menyediakan filter kueri di JSON. Untuk informasi selengkapnyaAMAZON.KendraSearchIntent, lihat panduan Amazon Lex dokumentasi.

Faset

Faset adalah tampilan terbatas dari serangkaian hasil pencarian. Misalnya, Anda dapat memberikan hasil pencarian untuk kota-kota di seluruh dunia, di mana dokumen difilter oleh kota tertentu yang terkait dengannya. Atau, Anda dapat membuat aspek untuk menampilkan hasil oleh penulis tertentu.

Anda dapat menggunakan atribut dokumen atau bidang metadata yang terkait dengan dokumen sebagai aspek sehingga pengguna Anda dapat mencari berdasarkan kategori atau nilai dalam aspek tersebut. Anda juga dapat menampilkan aspek bersarang di hasil pencarian sehingga pengguna Anda dapat mencari tidak hanya berdasarkan kategori atau bidang tetapi juga berdasarkan sub kategori atau sub bidang.

Contoh berikut menunjukkan cara mendapatkan informasi facet untuk atribut kustom “Kota”.

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City" } ] )

Anda dapat menggunakan aspek bersarang untuk lebih mempersempit pencarian. Misalnya, atribut dokumen atau aspek “Kota” menyertakan nilai yang disebut “Seattle”. Selain itu, atribut dokumen atau aspek "CityRegion" termasuk nilai “Utara” dan “Selatan” untuk dokumen yang ditugaskan ke “Seattle”. Anda dapat menampilkan aspek bersarang dengan jumlah mereka di hasil pencarian sehingga dokumen dapat dicari tidak hanya berdasarkan kota tetapi juga oleh wilayah dalam kota.

Perhatikan bahwa aspek bersarang dapat memengaruhi latensi kueri. Aturan umum adalah semakin banyak aspek bersarang yang Anda gunakan, semakin besar potensi dampak pada latensi. Faktor lain yang memengaruhi latensi termasuk ukuran rata-rata dokumen yang diindeks, ukuran indeks Anda, kueri yang sangat kompleks, dan beban keseluruhan pada indeks Anda. Amazon Kendra

Contoh berikut menunjukkan cara mendapatkan informasi facet untuk atribut kustom CityRegion "", sebagai aspek bersarang dalam “Kota”.

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City", "Facets": [ { "DocumentAttributeKey" : "CityRegion" } ] } ] )

Informasi facet, seperti jumlah dokumen, dikembalikan dalam array FacetResults respon. Anda menggunakan isi untuk menampilkan saran pencarian berfaset dalam aplikasi Anda. Misalnya, jika atribut dokumen “Kota” berisi kota tempat pencarian dapat diterapkan, gunakan informasi tersebut untuk menampilkan daftar pencarian kota. Pengguna dapat memilih kota untuk memfilter hasil pencarian mereka. Untuk melakukan pencarian faceted, panggil Query API dan gunakan atribut dokumen yang dipilih untuk memfilter hasil.

Anda dapat menampilkan hingga 10 nilai faset per faset untuk kueri, dan hanya satu aspek bersarang dalam satu segi. Jika Anda ingin meningkatkan batas ini, hubungi Support. Jika Anda ingin membatasi jumlah nilai faset per faset menjadi kurang dari 10, Anda dapat menentukan ini di Facet objek.

Contoh respons JSON berikut menunjukkan aspek yang dicakup ke atribut dokumen “Kota”. Tanggapan tersebut mencakup jumlah dokumen untuk nilai faset.

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' } }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' } } ] } ]

Anda juga dapat menampilkan informasi aspek untuk aspek bersarang, seperti wilayah dalam kota, untuk memfilter hasil pencarian lebih lanjut.

Contoh respons JSON berikut menunjukkan aspek yang dicakup ke atribut dokumen "CityRegion", sebagai aspek bersarang dalam “Kota”. Responsnya mencakup jumlah dokumen untuk nilai faset bersarang.

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'Bur Dubai' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Deira' } } ] } ] }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'North' } }, { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'South' } } ] } ] }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'City center' } } ] } ] } } ] }

Bila Anda menggunakan bidang daftar string untuk membuat faset, hasil faset kembali didasarkan pada isi daftar string. Misalnya, jika Anda memiliki bidang daftar string yang berisi dua item, satu dengan daftar “dachshund”, “sausage dog” dan satu dengan nilai “husky”, Anda mendapatkan FacetResults dengan tiga aspek.

Untuk informasi selengkapnya, lihat Respons kueri dan jenis respons.

Menggunakan atribut dokumen untuk menyaring hasil pencarian

Secara default, Query mengembalikan semua hasil pencarian. Untuk menyaring respons, Anda dapat melakukan operasi logis pada atribut dokumen. Misalnya, jika Anda hanya menginginkan dokumen untuk kota tertentu, Anda dapat memfilter atribut dokumen khusus “Kota” dan “Negara”. Anda gunakan AttributeFilteruntuk membuat operasi Boolean pada filter yang Anda berikan.

Sebagian besar atribut dapat digunakan untuk menyaring respons untuk semuajenis respons. Namun, atribut _excerpt_page_number hanya berlaku untuk jenis respons ANSWER saat menyaring respons.

Contoh berikut menunjukkan bagaimana melakukan operasi AND logis dengan menyaring pada kota tertentu, Seattle, dan negara bagian, Washington.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'AndAllFilters': [ {"EqualsTo": {"Key": "City","Value": {"StringValue": "Seattle"}}}, {"EqualsTo": {"Key": "State","Value": {"StringValue": "Washington"}}} ] } )

Contoh berikut menunjukkan cara melakukan operasi OR logis untuk ketika salah satu kunci Fileformat, Author, atau SourceURI sesuai dengan nilai yang ditentukan.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'OrAllFilters': [ {"EqualsTo": {"Key": "Fileformat","Value": {"StringValue": "AUTO_DETECT"}}}, {"EqualsTo": {"Key": "Author","Value": {"StringValue": "Ana Carolina"}}}, {"EqualsTo": {"Key": "SourceURI","Value": {"StringValue": "https://aws.amazonaws.com/234234242342"}}} ] } )

Untuk bidang StringList, gunakan filter atribut ContainsAny atau ContainsAll untuk mengembalikan dokumen dengan string yang ditentukan. Contoh berikut menunjukkan cara untuk mengembalikan semua dokumen yang memiliki nilai-nilai “Seattle” atau “Portland” di atribut khusus Locations mereka.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = { "ContainsAny": { "Key": "Locations", "Value": { "StringListValue": [ "Seattle", "Portland"] }} } )

Memfilter atribut setiap dokumen dalam hasil pencarian

Amazon Kendra mengembalikan atribut dokumen untuk setiap dokumen dalam hasil pencarian. Anda dapat memfilter atribut dokumen tertentu yang ingin Anda sertakan dalam respons sebagai bagian dari hasil pencarian. Secara default, semua atribut dokumen yang ditetapkan ke dokumen dikembalikan dalam respons.

Dalam contoh berikut, hanya atribut dokumen _source_uri dan _author termasuk dalam respons untuk dokumen.

response=kendra.query( QueryText = query, IndexId = index, RequestedDocumentAttributes = ["_source_uri", "_author"] )