# API REST des domaines de recherche

# Recherche de Smart Elements

L'url GET /api/v2/fullsearch/domains/<domain>/smart-elements/ permet de retourner les Smart Elements indexés par le domaine indiqué.

Le retour et les paramètres sont les mêmes que pour la route /api/v2/searches/<search>/smart-elements/.

Par défaut, les résultats sont ordonnées par pertinence.

En plus des résultats, l'attribut "highlights", retourne la portion de texte où se trouve le ou les termes recherchés. Ces termes sont entourés par des triples crochets.

Le paramètre q indique les termes à rechercher.

Exemple de retour avec la requête :/api/v2/fullsearch/domains/myconfig/smart-elements/?q=festival

{
  "success": true,
  "data": {
    "requestParameters": {
      "slice": 10,
      "offset": 0,
      "length": 1,
      "orderBy": "ts_rank_cd( searches.myconfig.v, to_tsquery('simple', '(''festival'')')) desc, searches.myconfig.docid",
      "q": "festival",
      "searchDomain": "myconfig"
    },
    "uri": "/api/v2/fullsearch/domains/myconfig/smart-elements/",
    "documents": [
      {
        "properties": {
          "id": 78767,
          "title": "Organisation d'un festival sur la diversité culturelle",
          "initid": 68341,
          "icon": "/api/v2/images/assets/sizes/24x24c/my_structure.png",
          "name": null,
          "revision": 4,
          "state": {
            "reference": "e_my_sc_archivee",
            "color": "",
            "activity": "",
            "stateLabel": "e_my_sc_archivee",
            "displayValue": "Archivé"
          },
          "status": "alive"
        },
        "uri": "/api/v2/smart-elements/68341.json",
        "highlights": "Organisation d'un [[[festival]]] sur la diversité culturelle - Organisation d'un [[[festival]]] sur la diversité culturelle, Plus d'une année s'est écoulée depuis la dernière mise à jour"
      }
    ]
  },
  "messages": []
}

# Administration

Ces routes ne sont accessibles qu'à des administrateurs ayant le rôle fullsearch_administrator.

# GET /api/admin/fullsearch/domains/

Liste les domaines de recherches enregistrés.

Pour chaque domaine, la configuration est fournie. De plus les données de volumes sur la base de données sont fournies pour chaque domaine.

{
  "success": true,
  "data": {
    "config": [
      {
        "name": "myConfig",
        "lang": "",
        "stem": "french",
        "configs": [
          {
            "structure": "MY_GED_NOTICE",
            "fields": [
              {
                "field": "ntc_date_parution",
                "weight": "B"
              },
              {
                "field": "ntc_zone_geographique",
                "weight": "B"
              },
              {
                "field": "title",
                "weight": "A"
              }
            ],
            "files": [
              {
                "field": "ntc_fichier",
                "weight": "B"
              }
            ],
            "callables": []
          },
          {
            "structure": "MY_COFINANCEMENT",
            "fields": [
              {
                "field": "cofi_titre",
                "weight": "B"
              },
              {
                "field": "cofi_fonds_date_ar",
                "weight": "B"
              },
              {
                "field": "title",
                "weight": "A"
              }
            ],
            "files": [
              {
                "field": "cofi_synthese",
                "weight": "B"
              },
              {
                "field": "cofi_demande",
                "weight": "B"
              }
            ],
            "callables": []
          }
        ],
        "database": {
          "structures": {
            "MY_GED_NOTICE": {
              "totalToIndex": 20071,
              "totalIndexed": 20071,
              "totalDirty": 0
            },
            "MY_GEP_COFINANCEMENT": {
              "totalToIndex": 50,
              "totalIndexed": 50,
              "totalDirty": 0
            },
            "MY_GEP_SOUTIEN_CIRCOURT": {
              "totalToIndex": 996,
              "totalIndexed": 996,
              "totalDirty": 0
            },
            "MY_GEP_SOUTIEN_CIRLONG": {
              "totalToIndex": 10652,
              "totalIndexed": 10652,
              "totalDirty": 0
            }
          },
          "files": [
            {
              "status": "D",
              "count": "90645",
              "label": "Succeed"
            },
            {
              "status": "K",
              "count": "3",
              "label": "Failing"
            },
            {
              "status": "W",
              "count": 0,
              "label": "Waiting"
            }
          ],
          "size": {
            "size": "543391744",
            "prettySize": "518 MB"
          }
        }
      },
      {
        "name": "users",
        "lang": "fr_FR",
        "stem": "simple",
        "configs": [
          {
            "structure": "IUSER",
            "collection": "",
            "fields": [
              {
                "field": "us_login",
                "weight": "A"
              },
              {
                "field": "us_fname",
                "weight": "B"
              },
              {
                "field": "us_lname",
                "weight": "B"
              },
              {
                "field": "us_mail",
                "weight": "C"
              }
            ],
            "files": [],
            "callables": []
          }
        ],
        "database": {
          "structures": {
            "IUSER": {
              "totalToIndex": 1501,
              "totalIndexed": 1501,
              "totalDirty": 0
            }
          },
          "files": [
            {
              "status": "W",
              "count": 0,
              "label": "Waiting"
            },
            {
              "status": "K",
              "count": 0,
              "label": "Failing"
            },
            {
              "status": "D",
              "count": 0,
              "label": "Succeed"
            }
          ],
          "size": {
            "size": "1138688",
            "prettySize": "1112 kB"
          }
        }
      }
    ],
    "fileCacheSize": {
      "size": "172376064",
      "prettySize": "164 MB"
    },
    "nextUpdateDate": "2020-03-06 15:05:00"
  },
  "messages": []
}

# POST /api/admin/fullsearch/domains/

Mise à jour des données de recherche du domaine. Une recherche des données périmées est effectuée et ces données sont mises à jour.