searchFileContent
Pencarian publik di seluruh konten file yang dilampirkan pada catatan.
Deskripsi
Metode ini mencari di dalam teks file yang dilampirkan pada catatan Anda - PDF, dokumen, dan sejenisnya - dan mengembalikan file yang cocok, masing-masing dengan fragmen di mana kecocokan ditemukan. Ini mengembalikan Promise yang menyelesaikan menjadi objek IFileSearchResponse.
FileUploading.searchFileContent(query, langCode, extensions, ownerTables, localeCodes, onlyTruncated, offset, limit);
Parameter
query: string
Kuery pencarian. Minimal 3 karakter - yang lebih pendek ditolak dengan 400.
contoh: "transportation"
langCode: string (opsional)
Bahasa kuery. Default: "en_US".
contoh: "en_US"
extensions: string[] (opsional)
Filter berdasarkan ekstensi file.
contoh: ["pdf", "docx"]
ownerTables: string[] (opsional)
Filter berdasarkan bagian tempat catatan yang dilampirkan berada.
contoh: ["products", "pages"]
localeCodes: string[] (opsional)
Filter berdasarkan lokal tautan, bukan konten file.
contoh: ["en_US"]
onlyTruncated: boolean (opsional)
Hanya mengembalikan file yang teks yang diekstrak terpotong pada batas ukuran.
contoh: true
offset: number (opsional)
Parameter untuk paginasi. Default: 0.
contoh: 0
limit: number (opsional)
Parameter untuk paginasi. Default: 10, maksimum 50 - nilai yang lebih besar ditolak dengan 400.
contoh: 10
💡 Dua hal yang perlu diketahui sebelum Anda menampilkan hasil
Unitnya adalah file, bukan fragmen. Satu snippet per file, bahkan ketika dokumen cocok di dua puluh halaman. snippet.pageFrom menunjukkan halaman mana fragmen dimulai.
Kecocokan ditandai dengan karakter kontrol, bukan HTML. Di dalam snippet.text setiap kecocokan dibungkus dalam U+0002 dan U+0003. Tempelkan ke dalam markup Anda tanpa diubah dan pembaca tidak akan melihat apa-apa - ganti dengan penyorotan Anda sendiri:
const html = item.snippet.text
.replaceAll('\u0002', '<mark>')
.replaceAll('\u0003', '</mark>');
🔒 Apa yang dikembalikan oleh pencarian
Hanya file dari catatan yang terlihat, dan hanya di bagian yang diaktifkan dalam pengaturan proyek Anda. Bagian pribadi dibatasi pada catatan pemanggil sendiri, dan bagian admin tidak pernah dikembalikan. Sebuah 403 dengan pesan tarif berarti fitur ini tidak termasuk dalam rencana Anda.
Contoh
Contoh minimal
const response = await FileUploading.searchFileContent('transportation');
Hanya PDF yang dilampirkan pada produk
const response = await FileUploading.searchFileContent(
'transportation',
'en_US',
['pdf'],
['products'],
);
Halaman kedua
const response = await FileUploading.searchFileContent(
'transportation',
'en_US',
undefined,
undefined,
undefined,
undefined,
10,
10,
);
Contoh respons
{
"total": 124,
"offset": 0,
"limit": 10,
"queryLanguage": {
"resolved": ["english"],
"source": "explicit",
"candidates": ["english"]
},
"warnings": [],
"items": [
{
"id": 1077,
"storageKey": "files/project/file/644/product/db1918c4.pdf",
"extension": "pdf",
"title": null,
"langCode": "en",
"pageCount": 244,
"rank": 0.0971,
"snippet": {
"text": "Active Transportation Demand Management",
"pageFrom": 86
},
"owners": [
{
"tableName": "products",
"dataId": 644,
"title": "COG - March 17, 2016",
"langCode": "en_US"
}
],
"ownersTotal": 2
}
]
}
Skema respons
Skema: IFileSearchResponse
total: number
Jumlah total file yang cocok.
contoh: 124
offset: number
Offset halaman dimulai.
contoh: 0
limit: number
Ukuran halaman.
contoh: 10
queryLanguage: IFileSearchQueryLanguage
Bagaimana bahasa kuery diselesaikan: diselesaikan, sumber, kandidat.
contoh: { "resolved": ["english"], "source": "explicit", "candidates": ["english"] }
warnings: string[]
Peringatan tentang pencarian, kosong jika tidak ada.
contoh: []
items: IFileSearchItem[]
File yang ditemukan.
contoh: [{ "id": 1077, "extension": "pdf" }]
items[].id: number
Identifikasi file yang diindeks.
contoh: 1077
items[].storageKey: string
Kunci objek di penyimpanan; tautan file dibangun dari sini.
contoh: "files/project/file/644/product/db1918c4.pdf"
items[].extension: string
Ekstensi file.
contoh: "pdf"
items[].title: string | null
Judul dari metadata dokumen, null jika dokumen tidak memiliki judul.
contoh: null
items[].langCode: string | null
Bahasa konten file, terdeteksi saat pengindeksan.
contoh: "en"
items[].pageCount: number | null
Jumlah halaman, untuk format yang dipaginasi.
contoh: 244
items[].rank: number
Relevansi kecocokan; hasil diurutkan berdasarkan ini secara menurun.
contoh: 0.0971
items[].snippet: IFileSearchSnippet | null
Fragmen yang cocok: teks ditambah halaman di mana ia dimulai.
contoh: { "text": "Active Transportation", "pageFrom": 86 }
items[].owners: IFileSearchOwner[]
Catatan yang file dilampirkan, satu entri per lokal.
contoh: [{ "tableName": "products", "dataId": 644 }]
items[].ownersTotal: number
Berapa banyak catatan yang terlihat oleh pemanggil yang merujuk file tersebut.
contoh: 2