ver 1.2
This commit is contained in:
@@ -195,14 +195,18 @@ def save_index(ix: Bm25Index) -> None:
|
||||
echo.check(status, b, "recall-index save")
|
||||
|
||||
|
||||
def rebuild() -> Bm25Index:
|
||||
def rebuild(prefetched: dict | None = None) -> Bm25Index:
|
||||
"""Full rebuild from every indexable entity note. Called by sweep.py and as the
|
||||
cold-cache path inside recall(). Saves and returns the index."""
|
||||
cold-cache path inside recall(). Saves and returns the index.
|
||||
|
||||
`prefetched` (a {path: text} map, e.g. from echo.read_many) lets sweep.py reuse the
|
||||
content it already pulled instead of walking and re-fetching the whole vault again."""
|
||||
ix = Bm25Index()
|
||||
for path in _walk():
|
||||
if not _indexable(path):
|
||||
continue
|
||||
text = _get(path)
|
||||
if prefetched is not None:
|
||||
items = ((p, t) for p, t in prefetched.items() if _indexable(p))
|
||||
else:
|
||||
items = ((p, _get(p)) for p in _walk() if _indexable(p))
|
||||
for path, text in items:
|
||||
if text is not None:
|
||||
ix.add(path, strip_frontmatter(text))
|
||||
save_index(ix)
|
||||
|
||||
Reference in New Issue
Block a user