[ANN] elasticsearch client

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] elasticsearch client

Paul DeBruicker
Hi -

Elasticsearch (http://www.elasticsearch.org/) claims to be a: "flexible
and powerful open source, distributed real-time search and analytics
engine for the cloud"

I put what I've made up here:

MCHttpRepository
    location: 'http://ss3.gemstone.com/ss/Elasticsearch'
    user: ''
    password: ''


So far it allows you to create an index, add documents, get documents by
id, search using the URI Request api, and then delete the index. I made
it in Pharo 1.4.  I made an attempt to abstract out the HTTP client and
URL stuff so it could be used with Zinc or Webclient.  But right now it
only works with Zinc.  If someone wants it to run in Squeak sooner
rather than later let me know and I can either fix it and the config or
help you do it.



basic usage is like this:

index:= ESIndex createIndex: 'test-index'.

docContent := Dictionary new.
docContent at: 'message' put: 'this is the documents content'.
docContent at: 'creator' put: 'Mr T'.

document:=ESDocument withContent: docContent.
document addToIndex:index.

search:=ESURISearch index:index.
search queryString:'documents'; search.
search results explore.
       
ESIndex deleteIndex:'test-index'


I haven't begun implementing the QueryDSL but the ESSearch class does do
the required GET with a JSON body and does work.  Seems like it'd be
useful to have the QueryDSL but right now I don't need more than the URI
Request searching provides.  It also doesn't do any of the cluster
health/maintenance api yet


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] elasticsearch client

Stéphane Ducasse
Thanks for your contribution.
This is good to have a catalog of solutions :)
Stef

On Apr 24, 2013, at 8:08 PM, Paul DeBruicker <[hidden email]> wrote:

> Hi -
>
> Elasticsearch (http://www.elasticsearch.org/) claims to be a: "flexible
> and powerful open source, distributed real-time search and analytics
> engine for the cloud"
>
> I put what I've made up here:
>
> MCHttpRepository
>    location: 'http://ss3.gemstone.com/ss/Elasticsearch'
>    user: ''
>    password: ''
>
>
> So far it allows you to create an index, add documents, get documents by
> id, search using the URI Request api, and then delete the index. I made
> it in Pharo 1.4.  I made an attempt to abstract out the HTTP client and
> URL stuff so it could be used with Zinc or Webclient.  But right now it
> only works with Zinc.  If someone wants it to run in Squeak sooner
> rather than later let me know and I can either fix it and the config or
> help you do it.
>
>
>
> basic usage is like this:
>
> index:= ESIndex createIndex: 'test-index'.
>
> docContent := Dictionary new.
> docContent at: 'message' put: 'this is the documents content'.
> docContent at: 'creator' put: 'Mr T'.
>
> document:=ESDocument withContent: docContent.
> document addToIndex:index.
>
> search:=ESURISearch index:index.
> search queryString:'documents'; search.
> search results explore.
>
> ESIndex deleteIndex:'test-index'
>
>
> I haven't begun implementing the QueryDSL but the ESSearch class does do
> the required GET with a JSON body and does work.  Seems like it'd be
> useful to have the QueryDSL but right now I don't need more than the URI
> Request searching provides.  It also doesn't do any of the cluster
> health/maintenance api yet
>
>