module Srchio::Concern::ClassMethods

Public Instance Methods

configure_srch(opts={}) click to toggle source

configure_srch: Configure the client for this model, mapping fields and setting the searcher id to use for all API call.

options:

  • searcher_id: the id for the searcher to use. This should probably be set in an environment variable, so you don't accidentally use development data in your production searcher, for example.

  • title: The method to use as the title when saving a document.

  • body: The method to use as the body when saving a document.

  • url: The method to use for the URL when saving a document.

  • tags: The method to use for tags when saving a document.

  • created: The method to use for setting the timestamp on a document.

  • remote_id: The method to use for setting the id on a document (probably should be :id.

# File lib/srchio/concern.rb, line 58
def configure_srch(opts={})
        raise "SearcherIdRequired" if opts[:searcher_id].nil?
        raise "TitleRequired" if opts[:title].nil?
        raise "BodyRequired" if opts[:body].nil?
        raise "UrlRequired" if opts[:url].nil?
        raise "RemoteIdRequired" if opts[:remote_id].nil?
        
        @@srch_config = opts
end
srch(opts={}) click to toggle source

srch: Search your content!

options:

  • query: Query all the fields.

  • page: The page of results to return, defaults to 1.

  • per_page: The number of results to return per page. Defaults to 25, max of 100.

  • body: Search just the body for something.

  • title: Search just the title for something.

  • tags: Find documents by their tags.

  • remote_id: Find a single document by the remote_id.

end

# File lib/srchio/concern.rb, line 96
def srch(opts={})
        srch_client.search(opts)
end
srch_add(opts={}) click to toggle source

srch_add: Add a document to your searcher.

options:

  • title: required

  • body: required

  • url: required

  • remote_id: recommended The id in your system for the object being added.

  • tags: An array or comma-separated list of tags.

  • created: The creation timestamp for your document.

end

# File lib/srchio/concern.rb, line 134
def srch_add(opts={})
        srch_client.add_document(opts)
end
srch_client() click to toggle source

srch_client: The client used to do all the API calls. The concern provides method wrappers for everything, so you probably don't need to call this directly.

end

# File lib/srchio/concern.rb, line 79
def srch_client
        @@client ||= Srchio::Client.new(:searcher_id => srch_config[:searcher_id])
end
srch_config() click to toggle source
# File lib/srchio/concern.rb, line 68
def srch_config
        @@srch_config
end
srch_config=(opts) click to toggle source
# File lib/srchio/concern.rb, line 72
def srch_config=(opts)
        @@srch_config = opts
end
srch_destroy(opts={}) click to toggle source

srch_destroy: Destroy a document.

options: (one of them is required)

  • remote_id: The id in your system for the document.

  • index_id: The id for the document in our system.

# File lib/srchio/concern.rb, line 118
def srch_destroy(opts={})
        srch_client.destroy_document(opts)
end
tag_cloud(opts={}) click to toggle source

tag_cloud: Return the tags for your searcher.

options:

  • n: The number of tags to return. Defaults to 1,000.

# File lib/srchio/concern.rb, line 106
def tag_cloud(opts={})
  srch_client.tag_cloud(opts)
end