[squeak-dev] [ANN] elasticsearch client

Paul DeBruicker pdebruic at gmail.com
Wed Apr 24 18:08:59 UTC 2013


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



More information about the Squeak-dev mailing list