PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/10/2021 11:16:48

Louloutre
Membre

Indexation text pour tsvector

Bonjour a tous et toutes  ,
je suis en étude de dev , je débute, ma question sera donc sûrement très candide:

Pour mon alternance (seul alternant et seul dev d'une petite pme), je suis actuellement en train d'essayer de crée "un moteur de recherche" pour documents"spécifique"
après avoir potasser un peu Elasticsearch , je veux finalement passer uniquement par PostgreSQL.
Je ne comprend pas comment crée mon index ou ma collection pour mon path de text

par exemple :

comment dois-je indexer
```
CREATE TABLE docSpécifique(
id SERIAL PRIMARY KEY
body TEXT NOT NULL
title VARCHAR NOT NULL
path home/exemple/src/exmpleApp/data/  *(j'ai  mis cela comme ça car justement je ne sais comment l'écrire)
```

J’aimerais comprendre comment je dois indexer le chemin des doc en question pour ensuite faire un ```SELECT id, title FROM docSpecifique WHERE to_tsvector(body) @@ to_tsquery('Mme machin née en 1789 ');```
et que la requêtes cherche dans tout le fichier data.

je n'ai pas l'habitude de poser des questions techniques je m'excuses d'avance si c'est peu clair
Merci pour vos réponse

Hors ligne

#2 19/10/2021 13:33:37

dverite
Membre

Re : Indexation text pour tsvector

La requête ne va pas chercher dans le fichier, elle va chercher dans la colonne body.
Ca suppose que la colonne body est pré-remplie avec le contenu du fichier, dont le chemin est dans path.
Il suffit d'ajouter la colonne path dans les données sorties du SELECT en plus de id et title. Indexer la colonne path n'a pas d'intérêt à première vue.

Hors ligne

#3 19/10/2021 14:38:27

Louloutre
Membre

Re : Indexation text pour tsvector

très bien , merci pour cette précision.

ça donnerait par exemple ```SELECT id, title, path (home/bidule/src/monApp/data) FROM to_tsvector(body) @@ to_tsquery ('mr Bond 1978 Londre'); ``` ?

Je ne trouve pas la doc faisant reference à cela  , j'ai regardé la doc ltree , mais pas sur que ce soit utile dans mon cas d'utilisation.

Dernière modification par Louloutre (19/10/2021 14:54:09)

Hors ligne

#4 19/10/2021 16:13:15

dverite
Membre

Re : Indexation text pour tsvector

Apparemment je ne comprends pas ce qu'est la colonne path dans votre idée. Je pensais que c'était le chemin du fichier en type texte, mais c'est pour faire quelque chose de plus sophistiqué apparemment, mais je ne vois pas quoi.

Hors ligne

Pied de page des forums