configuring soundex in elasticsearch

elasticsearch is trivially easy to set up and start using with reasonable default settings. Like any framework, deviating from those defaults increases the challenge. Phonetic searches like soundex are supported by elasticsearch, but not out-of-the-box. What is soundex? It classifies words according to how they sound, so that similar-sounding words will match each other in … Read moreconfiguring soundex in elasticsearch

elasticsearch: first things first

elasticsearch is a wrapper around Lucene that supports distributed, scalable search, particularly compatible with Amazon’s EC2 setup. The fun part about elasticsearch is the installation and setup (on a Mac): step 1) download it.step 2) unzip that file.step 3) go to that directory and run bin/elasticsearch Done. Ready to go. Proceed with inserting data. Except! … Read moreelasticsearch: first things first

Inserting data into elasticsearch over HTTP: a breakdown

There are a zillion examples of what to type to insert into elasticsearch. But what does each part mean? Shoving information into elasticsearch is pretty easy. You don’t have to set anything up. (so, if you have a typo, good luck figuring out later where your data went. This is the price of sensible defaults.) … Read moreInserting data into elasticsearch over HTTP: a breakdown

Lessons from SICP: what is iterative programming?

SICP insight of the day: iterative programming doesn’t require a for loop. Tail recursion is iterative programming. It looks very close to recursion, but the distinction is: a program is iterative if everything it needs is stored in a few state variables. In an imperative style the state is stored in mutable variables. In a … Read moreLessons from SICP: what is iterative programming?

Continuation Style Without the Fugly

The previous post discussed advantages of using a continuation style to send our code to the data instead of making our code wait for the data to come back to it. This pseudocode example has three I/O operations, each encasing the operations which should follow in a callback function parameter. let filename = // calculate … Read moreContinuation Style Without the Fugly