Spaces:
Running
Running
fix: el estilo del canalon es ruido, la posicion no
Browse files- js/acer-core.js +16 -4
js/acer-core.js
CHANGED
|
@@ -202,9 +202,15 @@ function buildBM25(docs, opts) {
|
|
| 202 |
* mtime», de modo que volver a guardar invalida lo anterior. Aquí la marca
|
| 203 |
* temporal es el turno, y el nombre es el objetivo de la llamada.
|
| 204 |
*
|
| 205 |
-
* Se DEGRADA, no se borra
|
| 206 |
-
*
|
| 207 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 208 |
*
|
| 209 |
* Devuelve un Set con los índices de mensaje cuyo resultado quedó superado.
|
| 210 |
*/
|
|
@@ -254,8 +260,14 @@ function dedupKey(s) {
|
|
| 254 |
// conserva como parte de la identidad de la línea. Solo colapsan las líneas
|
| 255 |
// que son iguales TAMBIÉN en dónde estaban — repeticiones de verdad, como
|
| 256 |
// "}" o el encabezado "[resultado …]" saliendo veinte veces.
|
| 257 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 258 |
const at = s.match(/^\s*(\d+)\s*[:→]/);
|
|
|
|
| 259 |
return at ? at[1] + '|' + body : body;
|
| 260 |
}
|
| 261 |
|
|
|
|
| 202 |
* mtime», de modo que volver a guardar invalida lo anterior. Aquí la marca
|
| 203 |
* temporal es el turno, y el nombre es el objetivo de la llamada.
|
| 204 |
*
|
| 205 |
+
* Se DEGRADA, no se borra — pero con una salvedad medida que conviene no
|
| 206 |
+
* maquillar: preguntando EXPRESAMENTE por el valor anterior, la versión vieja
|
| 207 |
+
* vuelve 0 de 8 veces. Está en el conjunto y no se recupera nunca, porque una
|
| 208 |
+
* vez degradada compite entre cientos de líneas de puntuación cero y quién
|
| 209 |
+
* vuelve de ahí lo decide el pase de diversidad, no la pregunta. ALCANZABLE NO
|
| 210 |
+
* ES RECUPERABLE. La diferencia entre «esto ya no es cierto» y «esto no existió
|
| 211 |
+
* nunca» es real en la estructura de datos y todavía NO lo es en el
|
| 212 |
+
* comportamiento. Recuperar el historial a petición pide otra vía: que la
|
| 213 |
+
* pregunta señale temporalidad y se busque explícitamente en lo caducado.
|
| 214 |
*
|
| 215 |
* Devuelve un Set con los índices de mensaje cuyo resultado quedó superado.
|
| 216 |
*/
|
|
|
|
| 260 |
// conserva como parte de la identidad de la línea. Solo colapsan las líneas
|
| 261 |
// que son iguales TAMBIÉN en dónde estaban — repeticiones de verdad, como
|
| 262 |
// "}" o el encabezado "[resultado …]" saliendo veinte veces.
|
| 263 |
+
//
|
| 264 |
+
// Y el ESTILO del canalón sí es ruido: la misma línea del mismo fichero vista
|
| 265 |
+
// una vez por la herramienta de lectura (`42→foo`) y otra por una búsqueda
|
| 266 |
+
// (`42: foo`) es la MISMA línea, y debe colapsar. Por eso el número se extrae
|
| 267 |
+
// aparte y el cuerpo se compara ya sin canalón: se conserva DÓNDE estaba y se
|
| 268 |
+
// descarta CÓMO se imprimió.
|
| 269 |
const at = s.match(/^\s*(\d+)\s*[:→]/);
|
| 270 |
+
const body = (at ? s.slice(at[0].length) : s).replace(/\s+/g, ' ').trim().toLowerCase();
|
| 271 |
return at ? at[1] + '|' + body : body;
|
| 272 |
}
|
| 273 |
|