Noggit, the JSON Streaming Parser

posted in: java, json | 0

Noggit is the world’s fastest streaming JSON parser for Java. Noggit is the streaming JSON parser used in Solr. It lives here on github. JSON features and extensions Noggit supports a number of extensions to the JSON grammar. All of … Continued

MurmurHash3 for Java

posted in: java, solr | 0

Background I needed a really good hash function for the distributed indexing we’re implementing for Solr. Since it will be used for partitioning documents, it needed to be really high quality (well distributed) since we don’t want uneven shards. It … Continued

Solr scalability improvements

posted in: java, lucene, search, solr | 0

With CPU cores constantly increasing, there has been some major work done in Lucene/Solr to increase the scalability under multi-threaded load. Read-only IndexReaders One bottleneck was synchronization around the checking of deleted docs in a Lucene IndexReader.  Since another thread … Continued

Solr Faceted Search Performance Improvements

posted in: java, lucene, search, solr | 0

Having performance issues with Solr’s faceted search and certain types of fields?  Help has arrived in the form of a new Solr faceting algorithm!  This new faceting implementation dramatically improves the performance of faceted search, making it suitable for a … Continued

lookup3ycs : a standard high performance string hash

posted in: java, search | 0

I was surprised to discovered that there isn’t a good cross-platform hash function defined for strings. MD5, SHA, FVN, etc, all define hash functions over bytes, meaning that it’s under-specified for strings. So I set out to create a standard … Continued

Distributed Search for Solr

posted in: java, lucene, search, solr | 0

A new chapter in Solr scalability has been opened with the addition of distributed search! http://wiki.apache.org/solr/DistributedSearch Distributed Search splits an index into multiple shards, and queries across all the shards, combining the results and presenting a single merged response that … Continued