# Corpus Analysis ## Start einer Session ```javascript nopaque.socket.emit("corpus_analysis_init", <corpusId>); <corpusId> ~ number // Show init loading modal nopaque.socket.on("corpus_analysis_init", <response>); <response> ~ {"code": <code>, "msg": <message>} <code> ~ number // HTTP status code <msg> ~ string // Hide init loading modal ``` ## Ausführen einer Suchanfrage Ergebnisse werden Stückchenweise als "chunks" übertragen. ```javascript nopaque.socket.emit("corpus_analysis_query", <query>); <query> ~ string // Clear result data store and list result = {"query": <query>}; // Hide query result card // Show query loading card nopaque.socket.on("corpus_analysis_query", <response>); <response>: {"code": <code>, "result": <result>} <code> ~ number // Error, Success <result> ~ {"matches": [<cpos>, ...], "num_matches": <num_matches>, "cpos_lookup": {<cpos>: <token>, ...}, "text_lookup": {<textId>: <text>, ...}} <cpos> ~ number <num_matches> ~ number <token> ~ {"word": <word>, "lemma": <lemma>, "simple_pos": <simple_pos>, "pos": <pos>, "ner": <ner>, "text": <textId>, "s": <sId>} <word> ~ string <lemma> ~ string <simple_pos> ~ string <pos> ~ string <ner> ~ string <textId> ~ number <sId> ~ number <text> ~ {"author": <author>, "title": <text>, ...} <s> ~ string // Process response // Hide query result card // Show query loading card ```