Class: Kreuzberg::Result::DocumentStructure

Inherits:
Object
  • Object
show all
Defined in:
lib/kreuzberg/document_structure.rb

Overview

Structured document representation.

Provides a hierarchical, tree-based representation of document content using a flat array of nodes with index-based parent/child references.

Examples:

if result.document
  result.document.nodes.each do |node|
    puts "#{node.id}: #{node.content[0..50]}"
  end
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ DocumentStructure

Returns a new instance of DocumentStructure.



20
21
22
# File 'lib/kreuzberg/document_structure.rb', line 20

def initialize(hash)
  @nodes = parse_nodes(hash['nodes'] || hash[:nodes] || [])
end

Instance Attribute Details

#nodesObject (readonly)

Returns the value of attribute nodes.



18
19
20
# File 'lib/kreuzberg/document_structure.rb', line 18

def nodes
  @nodes
end

Instance Method Details

#to_hHash

Convert to hash

Returns:

  • (Hash)

    Hash representation



28
29
30
# File 'lib/kreuzberg/document_structure.rb', line 28

def to_h
  { nodes: @nodes.map(&:to_h) }
end