• Running Elasticsearch Curator as an AWS Lambda function

    AWS Lambda functions can be used to run the Elasticsearch Curator CLI in a serverless way...
  • Facet filtering with EPiServer Find

    Sometimes you want to have a facet calculated on just a subset of the result or have multiple facets each being calculated on a different subset of the result...
  • Integration tests with Protractor

    After playing around with Protractor for a while I wanted to create some integration tests where I would bootstrap the entire server/database before each test to get a consistent state to start from in each test. The problem is that we often have to wait for everything to be setup before running the tests...
  • Using Protractor with CoffeeScript

    I’ve been playing around with AngularJS for the last couple of weeks during my spare time while being on paternity leave (read late at night). I really like the framework and last night I came across Protractor, the end to end testing framework, and for the first time I think I saw some light in the the UI-testing-tunnel and thought I should share some ideas in a couple of posts...
  • Language detection using Elasticsearch

    A couple of weeks ago I had the privilege to speak at the Elasticsearch Meetup in Stockholm where I did show a slightly tweaked version of the 'language categorizer' I did write about a couple of months ago and would like to share the changes I did (the naive approach wasn’t accurate enough to be presented live in public ;-))...
  • Indexing only referenced VPP-files with EPiServer Find

    The EPiServer Find CMS integration does not index any files stored in the VPP by default. A convention is included in the integration that index files visible in the file manager and it is enabled by setting the VisibleInFilemanagerVPPIndexingConvention on the FilieIndexer conventions...
  • Nested filtering with EPiServer Find

    Some have already noticed one of the x2find mebers, Nested2Find, that enables nested object mappings and filtering to the EPiServer Find API. I would like to give a short description of what it does and how it can help you in some filtering scenarios...
  • Categorizing using Elasticsearch

    I'm fortunate to work at a company that once a month have a 'hack day' when we are allowed to just try out new and crazy ideas. As an advocate of using search for so much more than just the 'search page' I decided to do a small demo of how to use Elasticsearch to do categorization and I wanted to share some of my ideas...
  • Hierarchical faceting with EPiServer Find

    A quite common use case of facets is to show a listing of the number of documents in a result for the different categories on the site (quite common is maybe an understatement as this is often the "hello world!" of faceting). A document can occur in maybe one or more categories and this is where your search index really stands out since it doesn’t care if you have one or two categories associated with the document it will return your facet in no time anyway. Sometimes your categories have a hierarchical structure that you want to reflect in your facet...
  • Time to live with EPiServer Find

    The latest release of EPiServer Find contains, apart for a number of bug fixes, one new feature and that is the ability to set a time to live value on indexed documents. The value is expressed as a TimeSpan and specifies how long the document should reside in the index before it is automatically deleted. This can be really useful if you index documents continuously (say that you index all items that users currently are looking at on your site) but only what to show the latest (i.e. what users are currently looking at on the site) and don’t want to flood your index over time (i.e I don’t care what someone looked at yesterday). Under these circumstances the time to live-feature can really help you by doing that dirty cleanup job that we all hate to to do...
  • Random sort with EPiServer Find

    I’ll continue my series of blog posts today based on “questions I’ve got” with one regarding randomly ordered search results. This can be quite useful if you want to show a subset of a search result and expose the individual result items of the entire result set equally. Say that you for instance have a list campaign products and want to show a limited number of these on the front page but still expose each one of them an equal amount of times to the users...
  • Searching Dictionaries with EPiServer Find

    EPiServer Find has extensive support for indexing all kinds of objects and types. However the support for dictionaries is a bit limited. I got a question a couple of weeks ago regarding how to search/filter on the keys or values of a dictionary (and not on a specific value for a specific key). The default dictionary support in EPiServer Find doesn’t support this but it is not that hard to achieve...
  • Adding fuzzy filtering to the EPiServer Find Fluent API

    A few days back I got a question of how to do fuzzy filtering FuzzyQueries and that the core classes in EPiServer.Find had an implementation of this query but that there wasn't a corresponding filter in either Elasticsearch or EPiServer.Find for doing this. However this is quite easily done anyway and it will enable you to do queries like...
  • Debugging Elasticsearch in Eclipse

    I’m one of those developers that think that debugging an application is a great way of gaining knowledge about its inner workings, not just for finding problems but also for educational purposes. Elasticsearch is one of my favorite open source projects that I sometime have the pleasure of debugging. The Elasticsearch homepage is not that extensive when it comes to building and running Elasticsearch in Eclipse so I’m giving a short description of how it is done...