githubEdit

Fonctions de Recherche Fulltext et Vectorielle

circle-info

Disponible à partir de la version 11.48.0

Ces fonctions nécessitent que la licence/préférence OPENSEARCH_ENABLED soit activée pour votre organisation. Sans activation, toutes les fonctions lèvent une RuntimeError("Fulltext search license is missing").

Fonctions pour rechercher dans les archives de documents, trouver des documents similaires et interroger les données de référence ERP. Elles recherchent dans tous les documents de l'organisation — contrairement à get_document_content() qui ne lit que le texte du document actuel.

circle-check

Source : module/script/helper/document_script_functions.py


Recherche dans le texte OCR complet de tous les documents de l'organisation.

fulltext_search(query, **kwargs)

Paramètres :

Nom
Type
Défaut
Description

query

str

obligatoire

Terme de recherche (recherché dans le texte OCR de tous les documents)

search_type

str

"match_phrase"

"match_phrase" (phrase exacte), "fuzzy" (tolérant aux erreurs, jusqu'à 2 caractères de différence), "prefix" (commence par)

doc_type

str

None

Filtrer par type de document (séparé par des virgules, ex. "INVOICE,CREDIT_NOTE")

status

str

None

Filtrer par statut de document (séparé par des virgules, ex. "ready_for_validation,exported")

vendor_name

str

None

Filtrer par nom du fournisseur

date_range

str

None

"last_30_days", "last_90_days", "last_180_days", "last_365_days"

size

int

10

Nb. max de résultats (limité à 50)

Retourne : list[dict] — Chaque dict contient :

Champ
Description

doc_id

UUID du document

name

Nom du fichier (ex. "INV-2026-001.pdf")

doc_type

Type de document ("INVOICE", "ORDER_CONFIRMATION", etc.)

vendor_name

Nom du fournisseur

status

Statut du document

total_amount

Montant total

ocr_content

Extrait de texte correspondant du document

highlights

Dict avec les correspondances surlignées par champ

Exemple — Recherche de phrase exacte :

Exemple — Recherche floue (tolérante aux erreurs OCR) :

Exemple — Recherche par préfixe :

circle-exclamation
circle-info

Gestion des erreurs : Si le service fulltextsearch est inaccessible, la fonction retourne [] et enregistre un avertissement. Elle ne lève pas d'exception.


Trouve des documents sémantiquement similaires à l'aide d'embeddings vectoriels (recherche k-NN avec des vecteurs à 384 dimensions).

Paramètres :

Nom
Type
Défaut
Description

doc_id

str

obligatoire

UUID du document source

k

int

5

Nombre de documents similaires à retourner (limité à 50)

Retourne : list[dict] — Chaque dict contient : doc_id, name, doc_type, similarity_score (0-1), similarity_percent (0-100).

Exemple :

circle-info

Fonctionnement : Chaque document est converti en vecteur à 384 dimensions lors de l'indexation. La recherche vectorielle trouve les voisins les plus proches dans cet espace vectoriel.


fulltext_search_erp()

Recherche dans les données de référence ERP (fournisseurs, commandes d'achat, clients, matériaux) indexées dans OpenSearch.

Paramètres :

Nom
Type
Défaut
Description

query

str

obligatoire

Terme de recherche

entity_types

str

None

Filtrer par type d'entité (séparé par des virgules : "vendor", "purchase_order", "customer", "material")

vendor_number

str

None

Filtrer par numéro de fournisseur

vendor_name

str

None

Filtrer par nom du fournisseur

company_code

str

None

Filtrer par code société

size

int

10

Nb. max de résultats (limité à 50)

Exemple — Valider un fournisseur dans l'ERP :


fulltext_suggestions()

Retourne des suggestions d'autocomplétion pour les termes de recherche.

Paramètres :

Nom
Type
Défaut
Description

query

str

obligatoire

Préfixe / terme de recherche

limit

int

10

Nb. max de suggestions par catégorie (limité à 20)

Exemple :


Référence Rapide

Fonction
Objectif
Retourne

fulltext_search(query, ...)

Rechercher le texte OCR dans tous les documents

list[dict]

vector_search(doc_id, ...)

Trouver des documents sémantiquement similaires

list[dict]

fulltext_search_erp(query, ...)

Rechercher dans les données ERP

list[dict]

fulltext_suggestions(query, ...)

Suggestions d'autocomplétion

dict


Schémas Courants

Vérification de Licence

Combinaison avec les Fonctions de Champ

Last updated

Was this helpful?