Apply shared term normalization to search terms, query matchers and the alias index
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Read search.validate_and_prepare_term, searchlib._parse_search_term, and query.get_matching_term_for_text, then inspect the related-terms indexes in storage/memory/related_terms_index.py and storage/sqlite/related_terms_index.py. Compare the incremental update path in ConversationBase with add_messages._collect_related_terms_for_fuzzy_index and its collection helpers. Done means all paths normalize terms consistently and both ingestion paths collect the same terms; run the relevant search, query, and indexing tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up to #322 / #325. #325 makes the memory and SQLite term and property indexes share normalize_term (NFC, lowercase, trim, collapse whitespace). Several other places still only call .lower(), so they can disagree with the index keys:
- Search side.
search.validate_and_prepare_term,searchlib._parse_search_termandquery.get_matching_term_for_text(and the entity-matching helpers such asmatch_entity_name_or_type) still only lowercase. Example: for entity"Space Needle"and search term"space needle",lookup_termfinds the semref, butboost_entitiescompares"space needle"with"space needle"and fails, so the entity loses its boost. Normalizing once invalidate_and_prepare_termand in the query matchers would fix this. - Related-terms alias index (
storage/memory/related_terms_index.py,storage/sqlite/related_terms_index.py) stores and looks up raw text. An alias registered for"space needle"is missed when the user searches" Space\tNeedle". - The two fuzzy-index update paths collect different terms.
ConversationBaseincremental updates add only entity names, topic text and action verbs.add_messages._collect_related_terms_for_fuzzy_indexusescollect_entity_terms/collect_action_terms, which also include types, facets, subjects and objects. So related-term expansion depends on which ingestion path was used. This was already the case before #325.
Found while reviewing #325; left out of it to keep that PR focused on the storage indexes.
- Lenguaje dominante
- Python
- Estrellas
- 892
- Forks
- 76
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 23
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/typeagent-py
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
microsoft/typeagent-py#270 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/typeagent-py#171 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Code Quality & Cleanup (from TODO.md)Quizá libre de nuevo @shreejaykurhade la tomó hace 195 días y no hay ningún pull request abierto. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
microsoft/typeagent-py#112 · 15 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
microsoft/typeagent-py#45 · 12 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de microsoft/typeagent-py
Issues similares
-
[Bug]: Revit selector reads process ids 2000-2099 as years (flaky AgentClientTests.AYearOrAProcessIdSelectsTheHost)Posiblemente ocupada @Wurschdhaud la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
pyrevitlabs/pyRevit#3817 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
521xueweihan/HelloGitHub#4074 ·
-
follow-up
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Helm chart: allow setting ingressClassName on the IngressPosiblemente ocupada @commarla la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
pgadmin-org/pgadmin4#10658 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100