Apply shared term normalization to search terms, query matchers and the alias index
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 892
- フォーク
- 76
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 23
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/typeagent-py のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
microsoft/typeagent-py#270 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
microsoft/typeagent-py#171 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Code Quality & Cleanup (from TODO.md)再び着手できるかも @shreejaykurhade が 195 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
microsoft/typeagent-py#112 · コメント 15 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
microsoft/typeagent-py#45 · コメント 12 件 ·
メンテナーはふだん 1 日以内に返信
microsoft/typeagent-py の issue をすべて見る
似ている issue
-
Validate non-divisible effective batch sizes in the Unsloth LoRA backend対応中かも @debesh-biswas が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
`rx.Model` event arguments emit `PydanticDeprecatedSince20` once per payload key対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
reflex-dev/reflex#7634 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
documentation
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
topoteretes/cognee#6239 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ranaroussi/yfinance#3009 ·
メンテナーはふだん 1 日以内に返信
-
Test discovery aborts on GPU builds without cuStateVec: check_cuStateVec expects a failed result but set_config() now raises RuntimeError対応中かも @dmeliksetian が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
Qiskit/qiskit-aer#2495 ·
メンテナーはふだん 1 日以内に返信