API Search

Recherche plein texte sur toutes les competences.

Rechercher des Skills

GET /api/v1/skills/search

Parametres

| Parametre | Type | Description | |-----------|------|-------------| | q | string | Requete de recherche (requis) | | page | number | Numero de page (defaut: 1) | | limit | number | Elements par page (defaut: 20) | | category | string | Filtrer par categorie | | platform | string | Filtrer par plateforme | | minStars | number | Nombre minimum d'etoiles | | hasIndex | boolean | A un marketplace.json |

Exemple de requete

bash
curl "https://skillsmp.com/api/v1/skills/search?q=react+typescript&category=frontend&minStars=100"

Exemple de reponse

json
{
  "data": [
    {
      "id": "456",
      "owner": "community",
      "repo": "react-typescript-guide",
      "name": "React TypeScript Guide",
      "description": "Type-safe React development patterns",
      "stars": 890,
      "score": 15.7,
      "highlights": {
        "name": "<mark>React</mark> <mark>TypeScript</mark> Guide",
        "description": "Type-safe <mark>React</mark> development patterns"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 45,
    "totalPages": 3
  },
  "meta": {
    "query": "react typescript",
    "took": 23
  }
}

Syntaxe de recherche

Recherche basique

react components

Recherche tous les champs textuels pour ces termes.

Phrase exacte

"react hooks"

Correspond a la phrase exacte.

Champ specifique

name:react description:hooks

Recherche dans des champs specifiques.

Exclusion

react -class

Exclut les termes avec le signe moins.

Wildcards

react*

Correspondance de prefixe.

Conseils de recherche

Requetes efficaces

Bien :

  • react hooks state management - Termes specifiques
  • "code review" security - Phrase + terme
  • typescript name:react - Specifique au champ

Moins efficace :

  • the best react skill - Mots vides ignores
  • r - Trop court
  • * - Trop large

Scoring de pertinence

Les resultats sont classes par :

  1. Correspondance exacte - Correspondances de termes complets
  2. Poids du champ - Name > Description > Content
  3. Popularite - Boost du nombre d'etoiles
  4. Fraicheur - Boost des mises a jour recentes

Autocompletion

GET /api/v1/skills/autocomplete

Parametres

| Parametre | Type | Description | |-----------|------|-------------| | q | string | Requete partielle | | limit | number | Suggestions max (defaut: 5) |

Exemple de requete

bash
curl "https://skillsmp.com/api/v1/skills/autocomplete?q=rea"

Exemple de reponse

json
{
  "data": [
    {
      "text": "react",
      "count": 89
    },
    {
      "text": "react hooks",
      "count": 34
    },
    {
      "text": "react typescript",
      "count": 28
    }
  ]
}

Gestion des erreurs

| Code | Description | |------|-------------| | INVALID_QUERY | La requete est vide ou trop courte | | QUERY_TOO_LONG | La requete depasse 200 caracteres | | INVALID_SYNTAX | Syntaxe de recherche mal formee |