Posts

  • Implementing logic other than AND in Prospecter

    When I first started work on Prospecter I focused only on combining query conditions with AND. Doing this meant that matching would be very easy and efficient. I was able to construct a bit mask during query registration that has one bit per condition. A & B & C & D -> 1111 A & B & ~C & D -> 1101 The literal symbols represent conditions in a query. Throughout this post I will...

  • Implementing prospective search

    The last couple of weeks I have been busy working on Prospecter, an open source prospective search implementation. Prospective search switches the role of documents and queries compared to regular search. Queries get indexed and documents get matched against the query index as they arrive. A well known example of this is Google Alerts, where you get notified when new pages matching your query are discovered. Some implementations, for example ElasticSearch’s percolator feature, offer prospective...