Rechercher des stories par tags
Utilisez le champ search de me pour lister les stories qui portent un tag, dans la limite de ce que l’utilisateur a le droit de voir.
Le point d’entrée de la recherche est search sur me. Il ne cherche que dans ce que l’utilisateur a le droit de voir : deux utilisateurs peuvent donc obtenir des résultats différents pour la même requête.
Cet exemple liste les stories qui portent un tag. Vous avez besoin de l’identifiant GraphQL du tag : Modifier les tags d’une story montre comment le trouver.
query storiesWithATag {
me {
search(query: { tags: ["TAG_ID"] }) {
totalCount
stories {
story {
id
slug
version {
title
}
}
}
}
}
}
La réponse :
{
"data": {
"me": {
"search": {
"totalCount": 3,
"stories": [
{ "story": { "id": "U3Rvcnk6MQ==", "slug": 1, "version": { "title": "First story" } } },
{ "story": { "id": "U3Rvcnk6Mg==", "slug": 2, "version": { "title": "Second story" } } },
{ "story": { "id": "U3Rvcnk6Mw==", "slug": 3, "version": { "title": "Third story" } } }
]
}
}
}
}
query accepte les mêmes filtres que la page de recherche : text pour les mots recherchés, spaces, hashtags, schemas (les modèles), users, langs, un dateRange et sort (RELEVANCE par défaut, ou NEWEST, UPDATED, ALPHABETICAL et d’autres). limit et start paginent les résultats, 20 à la fois par défaut.
Chaque résultat porte aussi highlightedTitle et highlightedSnippets, les passages correspondants, avec les mots recherchés mis en évidence. C’est ce que la page de recherche affiche.