lucene-appengine


A Lucene directory for Google App Engine.

03-04-2014 Project moved to https://code.google.com/p/luceneappengine

Refer to this site only for older version

Project changed groupId to com.googlecode.luceneappengine and is now hosted on public maven repository.

This site will remain available but is no longer updated.

This project provides a directory useful to build Lucene and Google App Engine powered applications.

Welcome to Lucene App Engine project (aka. LAE)

https://lucene.apache.org/images/lucene_logo_green_300.png https://www.google.com/accounts/ah/appengine.jpg

Main Features: * Lucene 3.6.x, 4.0.x, 4.1.x, 4.2.x, 4.3.x, 4.4.x, 4.5.x compatible * Storage in Google App Engine * Supported operations: Add, Remove, Update, Index, Deindex, everything?! (I need you to check) * Multiple indexes in the same application * No more RAMDirectory for Google App Engine powered applications * No more index size limit of 1MB * Yes! It works, see it in action (live demo site) * Open your mind to new Google App Engine applications powered by Lucene * For high performance applications use google app engine task queue * Memcache support for LAE-4.2.0-SNAPSHOT and above, coming soon for LAE-3.6.3-SNAPSHOT

Coming Soon: * Performance improvements: * asynch indexing * buffer management * Objectify 4 Now in the new LAE version

News

  • 03-04-2014 Project moved to new luceneappengine site
  • 02-07-2013 Project moving to new googlecode site, coming soon to public repository.
  • 23-06-2013 Announced migration to Objectify 4 now in rc1
  • 06-06-2013 Released LAE-4.2.1 and LAE-4.3.0-SNAPSHOT compatible with Lucene 4.3.0, for full compatibility notes read [LuceneAppEngineVersions details LuceneAppEngineVersion
  • 05-05-2013 Released LAE-4.2.0 and LAE-4.2.1-SNAPSHOT compatible with Lucene 4.2.1
  • 05-05-2013 Fixed maven repository, sorry for the missing files
  • 21-04-2013 New simplified configuration is out! Read below the Configuration section
  • 19-04-2013 Coming soon LAE 4.2.1-SNAPSHOT and new simplified configuration of LAE no more copy and paste into your project for issue DeployIssueRamUsageEstimator
  • 13-03-2013 Now everything under Apache v2 license
  • 13-03-2013 Released LAE-4.2.0-SNAPSHOT with other performance improvements and memcache support
  • 13-03-2013 Released LAE-3.6.3-SNAPSHOT, 4.1.0 with performance improvements and example aligned
  • 13-02-2013 Released LAE-3.6.2, 4.0.0 and 4.1.0-SNAPSHOT with example aligned

Usage

GaeDirectory directory = new GaeDirectory();//create a default index IndexWriterConfig config = GaeLuceneUtil.getIndexWriterConfig(LUCENE_VERSION, analyzer);//get configuration IndexWriter w = new IndexWriter(directory, config);//get the writer /* now use Apache Lucene like you're used to */

In order to manage multiple index instances simply create multiple GaeDirectory instances with different names: GaeDirectory directory = new GaeDirectory("anotherIndexName");

A complete example with source code lucene-appengine-examples

Configuration

Add into your appengine-web.xml: <appengine-web-app> .... <class-loader-config> <priority-specifier filename="lucene-appengine-[LAE Version].jar"/> </class-loader-config> ..... <system-properties> ... <property name="os.version" value="1.0.GAE whatever" /> <property name="os.arch" value="GAE whatever" /> </system-properties> </appengine-web-app> WARNING: If you are using a SNAPSHOT version of LAE using Maven, you must add the specific jar name of the snapshot, you can see the specific jar name typing on command line 'mvn clean package && ls -lR target/ | grep lucene-appengine'

Maven

If you are using maven to build/deploy google app engine war add this snippet to import the lucene directory <repositories> <repository> <id>lucene-appengine-snapshots</id> <name>Lucene App Engine Snapshots</name> <url>http://repo.lucene-appengine.googlecode.com/hg/snapshots</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>lucene-appengine-releases</id> <name>Lucene App Engine Releases</name> <url>http://repo.lucene-appengine.googlecode.com/hg/releases</url> <releases><enabled>true</enabled></releases> </repository> </repositories> <dependencies> <!-- Declare dependencies in this order --> <dependency> <groupId>com.googlecode.lucene.appengine</groupId> <artifactId>lucene-appengine</artifactId> <version>4.3.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>4.3.0</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>4.3.0</version> </dependency> .... </dependencies>

If you need Lucene 3.6 you can try the beta simply changing the version: <dependencies> <!-- Declare dependencies in this order --> <dependency> <groupId>com.googlecode.lucene.appengine</groupId> <artifactId>lucene-appengine</artifactId> <version>3.6.2</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>3.6.2</version> </dependency> .... </dependencies>

For a complete example and source-code see LAE Examples project

Development

If you like this project, you can choose a kind of donation here or give a free donation . Thanks for your support!

Project Information

The project was created on Aug 8, 2012.

Labels:
Java Maven Lucene AppEngine Index