Sha256: 12750b89166b9db1aef123b0d347414659b4c89258d7b5faaabe1c65e5c59944

Contents?: true

Size: 1.5 KB

Versions: 41

Compression:

Stored size: 1.5 KB

Contents

module Picky

  module Backends

    # Naive implementation of a file-based index.
    # In-Memory Hash with length, offset:
    #   { :bla => [20, 312] }
    # That map to positions the File, encoded in JSON:
    #   ...[1,2,3,21,7,4,13,15]...
    #
    class File < Backend

      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:token] # => [id, id, id, id, id] (an array of ids)
      #
      def create_inverted bundle
        JSON.new bundle.index_path(:inverted)
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:token] # => 1.23 (a weight)
      #
      def create_weights bundle
        JSON.new bundle.index_path(:weights)
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:encoded] # => [:original, :original] (an array of original symbols this similarity encoded thing maps to)
      #
      def create_similarity bundle
        JSON.new bundle.index_path(:similarity)
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:key] # => value (a value for this config key)
      #
      def create_configuration bundle
        JSON.new bundle.index_path(:configuration)
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [id] # => [:sym1, :sym2]
      #
      def create_realtime bundle
        JSON.new bundle.index_path(:realtime)
      end

    end

  end

end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
picky-4.6.3 lib/picky/backends/file.rb
picky-4.6.2 lib/picky/backends/file.rb
picky-4.6.1 lib/picky/backends/file.rb
picky-4.6.0 lib/picky/backends/file.rb
picky-4.5.12 lib/picky/backends/file.rb
picky-4.5.11 lib/picky/backends/file.rb
picky-4.5.10 lib/picky/backends/file.rb
picky-4.5.9 lib/picky/backends/file.rb
picky-4.5.8 lib/picky/backends/file.rb
picky-4.5.7 lib/picky/backends/file.rb
picky-4.5.6 lib/picky/backends/file.rb
picky-4.5.5 lib/picky/backends/file.rb
picky-4.5.4 lib/picky/backends/file.rb
picky-4.5.3 lib/picky/backends/file.rb
picky-4.5.2 lib/picky/backends/file.rb
picky-4.5.1 lib/picky/backends/file.rb
picky-4.5.0 lib/picky/backends/file.rb
picky-4.4.2 lib/picky/backends/file.rb
picky-4.4.1 lib/picky/backends/file.rb
picky-4.4.0 lib/picky/backends/file.rb