Michael and Claude Opus 5.5
e9c0555ab7
Discussions : la recherche trouve aussi les mots du texte, pas seulement les titres (index plein-texte chiffré, repris d'AJEAN 558d3b4d, #98 )
...
Index inversé dans le bucket chatsearch (chat_search.go) : une fiche
légère par discussion (« d| » : version, date d'indexation, aperçu), sa
liste de mots (« t| ») et, par mot, la liste des discussions (« p| »).
Mots repliés sans accents, correspondance par début de mot, titre compté
double, comme chez l'amont. Chiffré quand la mémoire l'est
(encryptedBuckets) ; verrouillée, la recherche le dit (state=locked).
Adapté au modèle de Loki : toutes les discussions vivent dans
bkChat/conv:<id>. L'index suit chaque écriture de l'écrivain différé
(chat_persist.go, avant que le lot soit marqué traité : une suppression
passe toujours après) et ne touche que les mots ajoutés ou retirés. Il
suit aussi les écritures de la façade Rust, qui passent par
/internal/v1/store : le Go reste le seul à tenir l'index, la route
/api/conversations/search est servie ici et relayée par la façade comme
toute route qu'elle ne connaît pas (test de garde des deux côtés). Pas de
second écrivain, donc pas de test de parité à tenir.
Rattrapage en fond au démarrage, au déverrouillage et quand une recherche
trouve l'index incomplet : discussions absentes ou plus anciennes que leur
dernière écriture. La discussion ouverte est cherchée dans son journal en
RAM quand ce process la tient. L'extrait est pris autour du mot trouvé,
relu dans le corps des seuls résultats de la page.
Tests repris d'AJEAN (chat_search_test.go), adaptés, plus les écritures
de la façade, l'extrait en contexte, la mise à jour incrémentale et
l'index périmé.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 11:23:18 +02:00
..
2026-10-02 23:30:00 +02:00
2026-10-16 15:16:39 +02:00
2026-08-14 21:33:15 +00:00
2026-10-07 10:54:09 +02:00
2026-10-07 10:54:09 +02:00
2026-08-14 21:37:51 +00:00
2026-08-16 11:02:35 +00:00
2026-08-14 21:37:51 +00:00
2026-10-15 18:51:58 +00:00
2026-08-16 20:43:47 +00:00
2026-08-18 21:58:04 +02:00
2026-10-03 23:57:08 +02:00
2026-10-07 09:28:42 +02:00
2026-10-04 02:52:54 +02:00
2026-10-02 23:13:56 +02:00
2026-10-03 23:37:55 +02:00
2026-10-03 23:37:55 +02:00
2026-10-04 11:03:02 +02:00
2026-10-04 11:56:11 +02:00
2026-08-20 10:32:44 +00:00
2026-08-20 10:32:44 +00:00
2026-10-04 11:56:11 +02:00
2026-08-14 21:33:15 +00:00
2026-08-19 08:28:53 +02:00
2026-08-14 21:33:15 +00:00
2026-10-16 15:16:39 +02:00
2026-10-04 00:16:41 +02:00
2026-10-04 00:16:41 +02:00
2026-09-12 20:20:33 +00:00
2026-08-14 21:33:15 +00:00
2026-10-16 15:16:39 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-15 20:58:28 +00:00
2026-10-07 09:36:59 +02:00
2026-10-03 22:43:04 +02:00
2026-10-07 09:36:59 +02:00
2026-08-20 09:31:59 +00:00
2026-10-03 23:04:08 +02:00
2026-10-04 14:53:17 +02:00
2026-10-04 14:53:17 +02:00
2026-10-03 23:57:08 +02:00
2026-10-04 08:26:04 +02:00
2026-10-03 22:58:23 +02:00
2026-10-04 00:09:24 +02:00
2026-10-03 23:11:31 +02:00
2026-10-04 10:28:25 +02:00
2026-10-03 22:27:04 +02:00
2026-10-04 14:56:00 +02:00
2026-10-04 14:56:00 +02:00
2026-10-04 10:35:16 +02:00
2026-10-03 22:47:38 +02:00
2026-10-03 22:53:44 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:02:40 +02:00
2026-10-08 09:13:56 +00:00
2026-10-08 09:13:56 +00:00
2026-10-04 10:35:16 +02:00
2026-10-04 14:33:46 +02:00
2026-10-03 22:37:59 +02:00
2026-10-03 22:37:59 +02:00
2026-10-08 09:13:56 +00:00
2026-10-16 15:16:32 +02:00
2026-10-16 15:16:37 +02:00
2026-10-16 15:16:32 +02:00
2026-10-16 15:16:37 +02:00
2026-10-04 12:25:39 +02:00
2026-10-07 15:29:08 +02:00
2026-10-16 04:17:04 +00:00
2026-10-04 15:24:20 +02:00
2026-10-04 11:56:11 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:19:37 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 10:30:05 +02:00
2026-10-04 12:26:42 +02:00
2026-10-04 10:02:40 +02:00
2026-10-02 23:23:21 +02:00
2026-10-16 15:05:04 +02:00
2026-10-04 01:04:03 +02:00
2026-10-16 15:05:04 +02:00
2026-09-12 20:25:48 +00:00
2026-10-02 23:07:46 +02:00
2026-10-15 09:59:16 +00:00
2026-08-16 15:33:55 +00:00
2026-09-22 13:59:10 +00:00
2026-10-02 23:04:30 +02:00
2026-10-02 23:04:30 +02:00
2026-10-04 14:08:07 +02:00
2026-10-04 14:08:07 +02:00
2026-08-30 15:47:10 +02:00
2026-10-15 11:19:42 +00:00
2026-10-02 23:11:40 +02:00
2026-10-04 14:11:59 +02:00
2026-10-02 23:10:56 +02:00
2026-10-02 23:10:56 +02:00
2026-10-07 10:30:05 +02:00
2026-10-16 05:29:35 +00:00
2026-10-04 14:50:15 +02:00
2026-10-04 12:31:48 +02:00
2026-10-02 23:04:51 +02:00
2026-10-02 23:04:51 +02:00
2026-08-30 15:47:10 +02:00
2026-10-16 04:29:53 +00:00
2026-10-04 10:50:00 +02:00
2026-10-19 11:23:18 +02:00
2026-10-16 00:09:09 +00:00
2026-10-16 02:52:44 +00:00
2026-10-04 12:31:48 +02:00
2026-10-04 14:08:07 +02:00
2026-10-04 01:34:36 +02:00
2026-10-02 23:11:40 +02:00
2026-10-16 15:05:04 +02:00
2026-10-16 15:05:04 +02:00
2026-09-07 22:33:55 +02:00
2026-10-02 23:13:56 +02:00
2026-09-22 13:33:39 +00:00
2026-09-22 13:33:39 +00:00
2026-10-19 11:23:18 +02:00
2026-10-19 11:23:18 +02:00
2026-10-19 11:23:18 +02:00
2026-10-02 23:34:42 +02:00
2026-10-02 23:34:42 +02:00
2026-10-16 15:05:04 +02:00
2026-08-14 21:33:15 +00:00
2026-10-16 15:05:04 +02:00
2026-10-04 15:12:19 +02:00
2026-10-15 21:34:57 +00:00
2026-09-12 21:05:19 +00:00
2026-09-22 13:19:37 +00:00
2026-10-16 05:29:35 +00:00
2026-08-16 15:33:55 +00:00
2026-08-20 09:31:59 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:47:57 +00:00
2026-10-02 23:32:29 +02:00
2026-10-02 23:32:29 +02:00
2026-08-18 21:58:57 +02:00
2026-10-16 04:01:03 +00:00
2026-10-02 23:38:07 +02:00
2026-10-02 23:36:51 +02:00
2026-10-02 23:36:51 +02:00
2026-10-16 05:42:32 +00:00
2026-08-18 21:58:57 +02:00
2026-10-15 11:19:42 +00:00
2026-08-18 21:58:57 +02:00
2026-08-20 09:31:59 +00:00
2026-10-02 23:40:38 +02:00
2026-10-16 15:05:04 +02:00
2026-10-02 23:31:33 +02:00
2026-10-16 15:05:04 +02:00
2026-10-04 09:01:57 +02:00
2026-10-16 07:12:29 +00:00
2026-10-16 07:12:29 +00:00
2026-10-02 23:36:01 +02:00
2026-08-20 09:31:59 +00:00
2026-08-18 21:58:57 +02:00
2026-10-02 23:30:00 +02:00
2026-10-02 23:30:00 +02:00
2026-10-04 14:11:59 +02:00
2026-09-22 13:19:37 +00:00
2026-10-16 06:17:51 +00:00
2026-09-22 13:19:37 +00:00
2026-10-16 06:17:51 +00:00
2026-10-04 00:53:38 +02:00
2026-10-07 10:30:05 +02:00
2026-10-16 06:17:51 +00:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-10-15 16:17:29 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:28:42 +02:00
2026-10-15 21:08:37 +00:00
2026-10-16 04:54:32 +00:00
2026-10-16 01:06:31 +00:00
2026-10-16 00:09:09 +00:00
2026-10-16 05:42:32 +00:00
2026-10-16 06:17:51 +00:00
2026-10-16 06:17:51 +00:00
2026-10-19 11:22:20 +02:00
2026-10-16 06:17:51 +00:00
2026-10-16 03:19:00 +00:00
2026-10-16 03:19:00 +00:00
2026-10-15 16:17:29 +00:00
2026-10-15 18:33:31 +00:00
2026-10-15 22:15:30 +00:00
2026-10-15 16:45:17 +00:00
2026-10-16 02:30:59 +00:00
2026-10-16 02:30:59 +00:00
2026-10-16 03:47:58 +00:00
2026-10-15 17:33:22 +00:00
2026-10-16 15:16:39 +02:00
2026-10-16 04:17:04 +00:00
2026-10-16 04:17:04 +00:00
2026-10-15 18:13:13 +00:00
2026-10-16 02:52:44 +00:00
2026-10-16 02:52:44 +00:00
2026-10-15 19:10:49 +00:00
2026-10-16 03:13:27 +00:00
2026-10-16 03:13:27 +00:00
2026-10-15 17:01:07 +00:00
2026-10-15 16:25:51 +00:00
2026-10-16 02:13:20 +00:00
2026-10-16 02:13:20 +00:00
2026-10-15 22:43:04 +00:00
2026-10-15 22:43:04 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-10-16 01:06:31 +00:00
2026-10-16 04:17:04 +00:00
2026-10-15 20:01:37 +00:00
2026-10-16 00:09:09 +00:00
2026-10-04 02:52:54 +02:00
2026-10-04 03:09:01 +02:00
2026-10-07 09:03:22 +02:00
2026-08-18 08:56:32 +00:00
2026-10-02 23:36:01 +02:00
2026-10-16 15:05:04 +02:00
2026-08-20 08:49:09 +00:00
2026-08-20 08:49:09 +00:00
2026-10-04 01:25:39 +02:00
2026-10-04 14:50:15 +02:00
2026-08-16 19:45:43 +00:00
2026-10-07 09:03:22 +02:00
2026-10-04 12:32:20 +02:00
2026-10-04 12:32:20 +02:00
2026-08-14 21:33:15 +00:00
2026-10-02 23:18:35 +02:00
2026-10-04 01:16:48 +02:00
2026-10-02 23:18:35 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:17:08 +02:00
2026-10-04 10:17:08 +02:00
2026-10-03 23:44:33 +02:00
2026-10-04 12:26:42 +02:00
2026-08-15 14:36:04 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-16 15:05:04 +02:00
2026-08-18 21:58:57 +02:00
2026-10-16 15:05:04 +02:00
2026-10-16 15:05:04 +02:00
2026-08-18 10:53:09 +00:00
2026-08-17 10:06:14 +02:00
2026-08-17 10:06:14 +02:00
2026-10-16 15:05:04 +02:00
2026-10-16 15:05:04 +02:00
2026-10-16 15:05:04 +02:00
2026-10-04 01:34:36 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-07 22:34:33 +02:00
2026-10-04 08:44:46 +02:00
2026-09-22 13:59:10 +00:00
2026-10-07 09:28:42 +02:00
2026-10-07 09:28:42 +02:00
2026-10-02 23:05:08 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-10-19 11:23:18 +02:00
2026-09-22 13:59:10 +00:00
2026-10-19 11:23:18 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-09-07 22:33:55 +02:00
2026-08-14 21:37:51 +00:00
2026-10-04 01:31:00 +02:00
2026-08-20 09:31:59 +00:00
2026-10-15 21:08:37 +00:00
2026-10-16 00:41:20 +00:00
2026-10-16 06:17:51 +00:00
2026-10-16 04:54:32 +00:00
2026-10-15 19:26:27 +00:00
2026-10-16 04:01:03 +00:00
2026-10-15 16:17:29 +00:00
2026-10-15 13:11:07 +00:00
2026-10-15 18:53:36 +00:00
2026-10-15 22:15:30 +00:00
2026-10-15 16:45:17 +00:00
2026-10-15 17:33:22 +00:00
2026-10-16 06:36:08 +00:00
2026-10-16 05:42:32 +00:00
2026-10-16 15:05:04 +02:00
2026-10-15 17:33:22 +00:00
2026-10-16 04:29:53 +00:00
2026-10-15 16:09:48 +00:00
2026-10-16 04:17:04 +00:00
2026-10-15 18:13:13 +00:00
2026-10-15 19:10:49 +00:00
2026-10-15 17:01:07 +00:00
2026-10-16 06:54:35 +00:00
2026-10-16 01:24:16 +00:00
2026-10-15 17:58:24 +00:00
2026-10-15 16:25:51 +00:00
2026-10-16 15:16:37 +02:00
2026-10-16 07:15:53 +00:00
2026-10-15 18:53:36 +00:00
2026-10-15 23:30:03 +00:00
2026-10-16 03:59:28 +00:00
2026-10-15 11:32:11 +00:00
2026-10-15 12:19:07 +00:00
2026-10-15 21:34:57 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 12:34:59 +00:00
2026-10-15 20:01:37 +00:00
2026-10-16 05:29:35 +00:00
2026-10-04 10:28:25 +02:00
2026-10-16 04:17:04 +00:00
2026-09-07 22:34:33 +02:00
2026-10-15 12:12:44 +00:00
2026-10-15 17:01:07 +00:00
2026-10-15 11:19:42 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:03:22 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 15:32:27 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-10-19 11:23:18 +02:00
2026-10-16 15:05:04 +02:00
2026-08-16 18:15:24 +00:00
2026-10-07 10:30:05 +02:00
2026-10-07 10:30:05 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-18 21:58:04 +02:00
2026-08-19 08:28:53 +02:00
2026-08-19 08:28:53 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:29:13 +02:00
2026-10-04 14:29:13 +02:00
2026-10-07 09:28:42 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:29:13 +02:00
2026-10-04 02:52:54 +02:00
2026-10-04 02:52:54 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-09-22 13:33:39 +00:00
2026-10-15 22:43:04 +00:00
2026-08-18 21:58:57 +02:00
2026-10-04 12:25:39 +02:00
2026-10-04 12:25:39 +02:00
2026-10-08 07:18:53 +00:00
2026-10-08 07:18:53 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-10-14 07:38:37 +02:00
2026-10-04 11:56:11 +02:00
2026-10-04 11:56:11 +02:00
2026-10-14 07:38:37 +02:00
2026-10-14 07:38:37 +02:00
2026-10-04 11:56:11 +02:00
2026-10-15 22:43:04 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:35:38 +02:00
2026-10-04 02:35:38 +02:00
2026-10-04 02:19:03 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 11:56:11 +02:00
2026-10-04 11:56:11 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 12:25:39 +02:00
2026-08-20 09:31:59 +00:00
2026-10-15 23:30:03 +00:00
2026-10-02 23:25:04 +02:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-08-20 09:31:59 +00:00
2026-10-16 03:51:09 +00:00
2026-10-15 23:30:03 +00:00
2026-10-04 02:19:03 +02:00
2026-10-04 10:50:00 +02:00
2026-10-02 23:40:38 +02:00
2026-10-04 01:31:00 +02:00
2026-10-16 04:29:53 +00:00
2026-08-14 21:33:15 +00:00
2026-10-19 11:23:18 +02:00
2026-10-16 15:05:04 +02:00
2026-10-02 23:04:05 +02:00
2026-10-16 15:05:04 +02:00
2026-10-13 00:31:28 +02:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:28:42 +02:00
2026-08-18 08:35:51 +00:00
2026-10-04 11:03:02 +02:00
2026-10-04 11:03:02 +02:00
2026-10-04 15:24:21 +02:00
2026-10-04 15:24:21 +02:00
2026-10-04 15:24:21 +02:00
2026-10-02 23:13:56 +02:00
2026-10-16 05:29:35 +00:00
2026-08-16 15:33:55 +00:00
2026-08-18 22:48:11 +02:00
2026-08-18 22:48:11 +02:00
2026-08-16 15:33:55 +00:00
2026-10-02 23:05:34 +02:00
2026-10-02 23:05:34 +02:00
2026-08-20 10:32:44 +00:00
2026-10-15 08:49:08 +02:00
2026-10-15 08:49:08 +02:00
2026-10-16 01:06:31 +00:00
2026-10-16 01:06:31 +00:00
2026-10-14 17:45:12 +02:00
2026-10-16 02:52:44 +00:00
2026-10-16 06:54:35 +00:00
2026-10-16 06:54:35 +00:00
2026-10-14 17:40:29 +02:00
2026-10-15 11:19:42 +00:00
2026-10-15 11:19:42 +00:00
2026-10-15 11:51:20 +00:00
2026-10-15 11:51:20 +00:00
2026-10-16 03:13:27 +00:00
2026-10-16 07:12:29 +00:00
2026-10-16 05:29:35 +00:00
2026-10-16 05:29:35 +00:00
2026-10-19 11:23:18 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-15 20:58:28 +00:00
2026-08-15 11:35:40 +00:00
2026-10-15 12:12:44 +00:00
2026-08-16 19:45:43 +00:00
2026-08-16 19:45:43 +00:00
2026-09-22 13:37:16 +00:00
2026-10-19 11:23:18 +02:00
2026-10-02 23:21:18 +02:00
2026-09-07 22:34:33 +02:00
2026-09-07 22:34:33 +02:00
2026-10-15 23:30:03 +00:00
2026-10-07 10:30:05 +02:00
2026-10-07 10:30:05 +02:00
2026-09-07 22:34:33 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-22 13:19:37 +00:00
2026-09-22 13:19:37 +00:00
2026-08-16 15:33:55 +00:00
2026-10-07 10:30:05 +02:00
2026-10-04 02:01:11 +02:00
2026-10-04 11:56:11 +02:00