graphprotocol / graphprotocol/graph-node

full text search not working on string array fields

Ouverte
#1,818 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area/graphql validation
Langage dominant
Rust
Étoiles
3.2k
Forks
1.1k
Merge moyen
4 j 1 h
PR mergées (30 j)
1

Description

Hi, I am trying to implement a full text search on a one entity called File and it has a few fields which are arrays of strings. Right now if I implement the subgraph including these fields, it won't throw any compile errors but the search won't work and the subgraph itself stuck on the startup(start block). I waited for an hour and it didn't sync further.
This is the query I did :

type _Schema_
    @fulltext(
        name: "fileSearch"
        language: en
        algorithm: rank
        include: [
            {
                entity: "File"
                fields: [
                    { name: "title" }
                    { name: "artistNames" }
                    { name: "description" }
                    { name: "tags" }
                ]
            }
        ]
    )

Now if I remove fields artistNames and tags, in less than a few minutes it syncs many blocks and search also works fine.
The new search will look like this :

type _Schema_
    @fulltext(
        name: "fileSearch"
        language: en
        algorithm: rank
        include: [
            {
                entity: "File"
                fields: [{ name: "title" }, { name: "description" }]
            }
        ]
    )

I think even if searching string arrays is not implemented, at least there should be an error during the compile time.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez la configuration de recherche en texte intégral signalée avec des champs de tableau de chaînes tels que artistNames et tags, puis comparez-la à la configuration fonctionnelle qui ne contient que title et description. Suivez le traitement du schéma de recherche en texte intégral et le comportement de synchronisation au démarrage. Le travail est terminé lorsque les champs de tableau non pris en charge sont clairement rejetés à la compilation, ou lorsque la recherche et la synchronisation fonctionnent correctement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
graphql, rust
Domaine
backend, search
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.