Skip to main content

Pythonic search engine based on PyLucene, including a standalone server based on CherryPy.

Project description

Project highlights

The core engine is a high level interface to PyLucene, which is a Python extension for accessing the popular Java Lucene search engine. Lucene has a reputation for being a relatively low-level toolkit, and the goal of PyLucene is to wrap it through automatic code generation. So although PyLucene transforms Java idioms to Python idioms where possible, the resulting interface is far from Pythonic. See examples for comparisons with the Lucene API.

A RESTful JSON search server, based on CherryPy. Many python applications which require better search capabilities are migrating from using conventional client-server databases, whereas Lucene is an embedded search library. Solr is a popular option for remote searching and other advanced features, but then any customization or embedded use is coupled to Java and XML. Using a python web framework instead can provide the best of both worlds, e.g., batch indexing offline and remote searching live.

A simple client to make interacting with the server as convenient as an RPC interface. It handles all of the HTTP interactions, with support for compression, json, and connection reuse.

Advanced search features:
  • Distributed searching with support for replication, partitioning, and sharding.
  • Optimized faceted and grouped search.
  • Optimized prefix and range queries.
  • Geospatial support.
  • Spellchecking.
  • Near real-time indexing.

Changes in 1.6

  • Engine:
    • PyLucene 4.6 and 4.7 supported
    • PyLucene 4.3 dropped
    • Fuzzy queries and terms updated
    • Additional query constructors
    • DocValuesFields supported
  • Server:
    • Replication uses cache validation
    • Grouping optimized

Project details


Release history Release notifications

History Node

2.0

History Node

1.9

History Node

1.8

History Node

1.7

This version
History Node

1.6

History Node

1.5

History Node

1.4

History Node

1.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
lupyne-1.6.tar.gz (1.1 MB) Copy SHA256 hash SHA256 Source None Apr 29, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page