Системы навигации внутри базы знаний

Спасибо! Добавил ещё про банер :slight_smile:

1 лайк

Я пока не дорос до использования всяких фреймворков, МОКов и т.д. Но что я активно пользую, это aliases в Obsidian. Таким образом, я ставлю заметкам такие имена, по которым их потом легко найти. По названиям и aliases я могу найти почти всё. Ctrl + O и погнали. Перекрывает 99% моей навигации. 0.9% у меня покрывается использованием тегов. В оставшихся 0.1% у меня всё-таки полнотекстовый поиск. Но когда я нашёл нужную заметку, я её переименовываю, или добавляю alias, или хотя бы тег, так чтобы полнотекстовый поиск и не требовался больше.

К сожалению, Obsidian не имеет полнотекстового индекса для моментального поиска, и плагинов таких я тоже не нашёл. На форуме Obsidian вяленько поднимают вопросы про полнотекстовые индексы, но не вижу массового интереса, поэтому думаю, что разработчики не отреагируют.

У меня сейчас в хранилище около 40000 заметок, разбивать на отдельные хранилища я бы очень не хотел. Для таких хранилищ, полнотекстовый поиск был бы хорошим подспорьем. Хоть садиться и писать плагин самому…

2 лайка

40 тыщ - это ого-то. Давно собраете?

Я не представляю, как среди такого количества искать поиском… У меня вот уже не получается. Правда, я и алиасы не пробовал использовать. Сомневаюсь, что смогу придумать более чем одно название к заметке.

В принципе можно для начала эдакие ленивые автоMOC-и делать - краткое описание области и список либо таблица заметок по теме путём выборки по нужным тегам.

Собираю где-то с 2007 года. Но там не то, чтобы очень прям заметки. Я недавно писал про свою базу мемчиков Telegram: Contact @Zettelkasten_ru , вот я её пару дней назад мигрировал в Obsidian. И это сразу плюс 16000 заметок :slight_smile: . Потом мигрировал свои другие блоги, которые я веду, потом базу книг из Calibre ещё плюс несколько сотен заметок.

У меня ещё есть задумка достать метаданные из своей фотоколлекции и тоже их заметки засунуть, это будет ещё плюс 50000 заметок. И это до тех пор, пока я не найду идеальный способ каталогизировать все свои базы данных, чтобы и всегда под рукой, и моментальный поиск :slight_smile:

1 лайк

Как выяснилось, в Everything 1.5 добавили индексирование контента. Если работает как они обещают, то это неплохо поможет пока аналог не завезут в Obsidian.

Спасибо, это очень интересная мысль! Понаблюдала за тем, как работаю со своей базой в Обсидиане, как “захожу” и как ищу заметки. Нашла следующие точки входа:

  1. Dashboard - главная страница, которая загружается при входе в Обсидиан. Там у меня ссылки на все MOC рассортированные по темам, раздел “On my desk” - туда кидаю все, над чем работаю вот прям щас. Тут же ссылки на незаконченные литературные заметки по книгам и обзорные статьям.
  2. Созданная еще до dashboard заметка, которая закреплена в правой панели со ссылками, которые чаще всего нужны.
  3. Полнотекстовой поиск - когда нужно найти, что у меня уже есть по этой теме, если нет очевидного MOC.
  4. Граф - использую, чтобы находить “сирот” и отдельные, области, которые плохо связаны с основной базой
2 лайка

А можно скрин дашборда?

2 лайка

Это плагин или сама собрала на датавью скриптах?

Прям Ноушн получился. :clap:

1 лайк

Я сначала собрала на dataview, но потом поняла, что мне удобнее руками собирать, потому что я точно запоминаю, где и что лежит, куда тыкать) Динамическое обновление мне не нужно в данном случае. Плюс вынесение новой MOC на дашборд позволяет как-то проникнутся ощущением растущей системы)

Справедливости ради, это прикрученный css отсюда: Dashboard++ — a simple organization and navigation method for Obsidian Vaults | by TfTHacker | Medium

2 лайка

В копии стартовой страницы мне понравился раздел «working on”. Это выглядит как хорошая точка сборки для незаконченных проектов.

3 лайка

Задумался над схожим дашбордом. Подскажи как ты его собираешь?

1 лайк

Добавил в daily note ссылку на Home, чтобы не искать его в навигаторе каждый раз

А “May 2022” это ссылка на monthly note?

Да, May 2022 - это ссылка на месячную заметку.

Кстати, для неё @mnaoumov написал запрос DataviewJS для выборки содержимого определённого раздела ежедневных заметок (Главные события дня), и в месячной заметке это выглядит как лента соответствующих событий за месяц.

Ежедневные заметки, откуда берутся данные, выглядят вот так:

А вот как выглядит лента событий в месячной заметке:

Код:

```dataviewjs
const currentNoteName = dv.current().file.name;

const pages = dv.pages('"diary"')
  .where(page => page.file.name.startsWith(currentNoteName) && page.file.name != currentNoteName)
  .sort(page => page.file.name);

for (let page of pages) {

  const file = app.vault.getAbstractFileByPath(page.file.path);
  const headings = app.metadataCache.getFileCache(file).headings;
  var index = headings.findIndex(h => h.heading === 'Главные события дня');

  if (index !== -1) {
    const noteContent = await dv.io.load(page.file.path);
    var start = headings[index].position.end.offset;
    var end = headings[index + 1]?.position.start.offset;
    const headingContent = noteContent.substring(start, end);
    if (headingContent.replace(/[\s\-]/g,'').length) {
     dv.header(2, page.file.link);
     dv.paragraph(headingContent);
    }
  }
}

Тут diary - это папка, где лежат Daily notes, а Главные события дня - название нужного раздела.
Выборка происходит из файлов, имена которых начинаются так же, как имя текущего файла. Например, в месячную заметку 2022-04 попадает текст из ежедневных заметок 2022-04-xx, в 2022-05 - текст из 2022-05-xx и т.д.

@mnaoumov, большое спасибо за разработку этого полезного запроса!

6 лайков

Сегодня размышлял в чатике обсидиана по вопросам навигации внутри базы знаний.

И вот что придумал.

  1. При начале работы над какой-то темой, формировать список поисковых запросов по ключевым словам. Как я это делаю при поиске статей. Только искать в базе.
  2. Прописывать в разметку метаданные сами ключевые слова и в дальнейшем при поиске через датавью собирать таблично что мне нужно.

Появилась безумная мысль, а что если датавью или что-то будет считать слова в заметке и выводить по количеству. Но это пока просто бредовая идея.

Есть такое вот, к “считать слова”. На основе этого можно строить поисковую систему или, например, алгоритм, определяющий сходство документов, а дальше всякое NLP, которое обработка естественного языка.

Да. Вы правильно считали мысль. Частотность слов :slight_smile:

Но это бред из категории «хороши бы …», но в этом что-то есть.