Solr
  1. Solr
  2. SOLR-396

tool to auto generate stub analysis factories

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3
    • Component/s: None
    • Labels:
      None

      Description

      a pet project i've bene working on in some spare time has been looking at source code and byte code analysis toolkits with the goal of being able to write a tool that could be pointed at a jar, and it would generate stub Factories for any TokenFilter or Tokenizer classes it found not already in Solr.

      in the end, it looks like a combination of reflection and some simple pattern matching is actually the best way to go (byte code loses info about param names, and reflection saves a lot of the hassle involved in pure source code analysis)

      i've got a proof of concept ready that i'll attach shortly. I hope to have some time next week to resubmit this as a patch that integrates it with the solr build.xml in such a way that anytime we add/update a lucene jar, we can run "ant stub-factories" and have 99% of the work done for us.

      1. factory-stub.tgz
        4 kB
        Hoss Man
      2. SOLR-396.patch
        40 kB
        Hoss Man

        Issue Links

          Activity

          Hide
          Hoss Man added a comment -

          proof of concept, you'll need to tweak the build.xml to know where you have Solr and lucene-java checked out to try it.

          Show
          Hoss Man added a comment - proof of concept, you'll need to tweak the build.xml to know where you have Solr and lucene-java checked out to try it.
          Hide
          Hoss Man added a comment -

          patch that takes the previous proof of concept and integrates it into the solr build.xml as a new "stub-factories" target.

          patch also includes many new factories produced by this target, included some Russian and Greek factories that were stubs i filled in with some "char[] charset" selection args (not that i really understand how/why these filters use these char[]s ... it's all unicode in the jvm right? but they key is that the factories support all the options the filters support).

          Show
          Hoss Man added a comment - patch that takes the previous proof of concept and integrates it into the solr build.xml as a new "stub-factories" target. patch also includes many new factories produced by this target, included some Russian and Greek factories that were stubs i filled in with some "char[] charset" selection args (not that i really understand how/why these filters use these char[]s ... it's all unicode in the jvm right? but they key is that the factories support all the options the filters support).
          Hide
          Hoss Man added a comment -

          Committed revision 593359.

          documented for future use on wiki...
          http://wiki.apache.org/solr/CommitterInfo

          Show
          Hoss Man added a comment - Committed revision 593359. documented for future use on wiki... http://wiki.apache.org/solr/CommitterInfo

            People

            • Assignee:
              Hoss Man
              Reporter:
              Hoss Man
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development