Lewati ke konten utama

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