- Notifications
You must be signed in to change notification settings - Fork5
Ruby client for Sonic search backend
NotificationsYou must be signed in to change notification settings
atipugin/sonic-ruby
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A Ruby client forSonic search backend.
Add following line to your Gemfile:
gem'sonic-ruby'
And then execute:
$ bundle
Or install it system-wide:
$ gem install sonic-ruby
Start with creating new client:
client=Sonic::Client.new('localhost',1491,'SecretPassword')
Now you can use#channel
method in order to connect to specific channels:
control=client.channel(:control)ingest=client.channel(:ingest)search=client.channel(:search)
Learn more about Sonic Channels.
# Init `ingest` channelingest=client.channel(:ingest)# Add data to indexingest.push('users','all',1,'Alexander Tipugin')# => true# Remove data from indexingest.pop('users','all',1,'Alexander Tipugin')# => 2# Count collection/bucket/object itemsingest.count('users','all',1)# => 1# Flush entire collectioningest.flushc('users')# => 1# Flush entire bucket inside collectioningest.flushb('users','all')# => 1# Flush specific object inside bucketingest.flusho('users','all',1)# => 2
# Init `search` channelsearch=client.channel(:search)# Find indexed object by termsearch.query('users','all','tipugin')# => 1# Auto-complete wordsearch.suggest('users','all','alex')# => alexander
- Take into account maximum buffer size.
- Consider using connection pool.
- Return more meaningful responses from commands (i.e. bool
true
instead of stringOK
, int1
instead of stringRESULT 1
etc).
About
Ruby client for Sonic search backend
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.