10 Handy Things to Know about the Lucene / Solr Source Code
It's funny how certain facts are "obvious" to some folks, stuff they've known a long time, but come as a pleasant surprise to others. Chances are you know at least half of these, but no harm in double checking!
- Although Lucene and Solr are available in binary form, most serious users are eventually going to need some custom code. If you post questions on the mailing lists, I think the assumption is you're comfortable with compilers, source code control and patches. So it's a good habit to get into early on.
- Lucene and Solr source code were combined a while back (circa March 2010), so it's now one convenient checkout.
- You'll want to be using Java 6 JDK to work with recent versions of Lucene / Solr.
- Lucene/Solr use the ant build tool by default. BUT did you know that the build file can also generate Project files for Eclipse, IntelliJ and Maven. So you can use your favorite tool. (See the README.txt file for info and links)
- Lucene/Solr use the Subversion / SVN source code control system. There are clients for Windows and plugins for Eclipse and IntelliJ. (Mac OS X has it built in)
- You're allowed to do read-only checkout without needing any sort of login - checkouts are completely open to the public. This is news to folks who've used older or more secure systems.
- Although checking any changes back in would require a login, it's more common to post patches to the bug tracking system or mailing list, and then let the main committers review and checkin the patch. Even the read-only checkouts create enough information on your machine to generate patches from your local changes.
- Doing a checkout, either public or with a login, does not "lock" anything. This is also a surprise to folks used to older systems. This non-locking checkout is why anonymous users can be allowed to checkout code - there's no need to coordinate checkouts.
- The read-only current source for the combined Lucene + Solr is at http://svn.apache.org/repos/asf/lucene/dev/trunk Even though it's an http link, and can be browsed with a web browser, it's also a valid Subversion URL.
- The "contribute" wiki pages for Lucene and Solr have more info about the source code and patch process.
Comments