There has been significant dicussion as to the direciton of the Lucene.Net projet.

  • I want an extremely modern .NET API full of injection points where I
    can pass lambdas, use IEnumerable<T> and all that System.Linq
    provides, interfaces for everything, as well as excellent unit test
    coverage.
  • I want to write very minimal code to accomplish basic tasks
  • I want an average .NET developer be able to intuitively understand
    and use the library with Intellisense as their only documentation
  • I want performance that meets or exceeds Java Lucene
  • I want no memory leaks
  • I want no "surprises" in general
  • I want minimal I/O
  • I want any execution that can be deferred or optimized out to be
    deferred or optimized out
  • I want any data that could be large in size to be streamable
  • I want no pointless unavoidable limitations on scale... and I want
    to be able to horizontally distribute searching and indexing with ease
  • I want every feature that Java Lucene's latest version has (and then some)
  • I want the index formats to be compatible with every other "Lucene"
    out there in whatever language and I want the query language to work
    identically across all of them.. That is to say given query Text "X"
    and index "Y" you will always get result set "Z" from every
    implementation of Lucene. Because when I have to get to my data via
    Python, Java, C++, Ruby or whatever, I want everything to just work.
  • I want to know which clauses in my query caused the result hit and
    to what degree, without having to incur a huge performance hit
  • I want real-time updates without having to do a little dance and
    wave my hands to get it to work
  • I want to get a new major version of the library roughly once or
    twice a year and I want to be very impressed by the features in the
    new version. I want bug fixes rolled out on a quarterly basis (at
    minimum) between those major versions.
  • I want to be able to trace or step-debug the execution of a search
    or indexing process and not think "WTF" constantly. Some of that code
    is extremely obtuse.
  • I want the query parser to be generated from a PEG grammar so that I
    can easily generate one in other languages
  • No labels