Поисковик: cтруктура книжного индекса - nagualchat/nagualism-site GitHub Wiki

Книги

Содержит основные сведения и оглавление для отображение в читалке.

В перспективе поиском по этим документам можно динамически формировать каталог библиотеки. Многоуровневое оглавление создаётся за счёт свойства depth, в самой же структуре глав вложенность никак не представлена (потому что это дико всё усложняет).

books/doc/book1

{
  title: "Книга 1",
  author: "Автор",
  translator: ["Переводчик 1", "Переводчик 2"],
  toc: [
    { id: 0, depth: 0, title: "Часть 1" },
    { id: 0, depth: 1, title: "Глава 1" },
    { id: 1, depth: 1, title: "Глава 2" }
  ]
}

Параграфы

Этот индекс используются для поиска. Содержит все строки книги включая заголовки. Type может быть paragraph, heading или скажем poem и по этим полям можно производить фильтрацию при поиске.

paragraphs/doc/book1_0_1

{
  book: { 
    id: "book1", 
    title: "Книга 1",
    author: "Автор" 
  },
  chapter: { 
    id: 0, 
    title: "Глава 1" 
  },
  content: {
    number: 1,
    type: "paragraph",
    text: "Параграф 1"
  }
}