Changes between Initial Version and Version 1 of TextIndexingAbstractionLayer


Ignore:
Timestamp:
Aug 21, 2006, 8:15:48 AM (18 years ago)
Author:
Brian Beck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TextIndexingAbstractionLayer

    v1 v1  
     1[[TOC(inline)]]
     2
     3== Introduction ==
     4
     5=== Why do we need an abstraction layer for full-text indexing? ===
     6
     7Developers often must implement search methods for their database, but unfortunately so far it has been easier to roll your own simple search than to deploy an existing project such as Lucene. Merquery provides an abstraction layer for popular text indexing engines and makes it easy for anyone to attach them to their database.
     8
     9== Using Merquery ==
     10
     11You can enable Lucene indexing of a database table like so (assuming the library is in contrib.search):
     12
     13{{{
     14#!python
     15from contrib.search.backends import LuceneIndexer
     16
     17class Person(models.Model):
     18    first_name = models.CharField(maxlength=30)
     19    last_name = models.CharField(maxlength=30)
     20    biography = models.TextField()
     21
     22indexer = LuceneIndexer('/tmp/person-index', Person,
     23                        text_fields=['Person.biography'],
     24                        {'first': 'Person.first_name',
     25                         'last': 'Person.last_name'})
     26indexer.update()
     27indexer.search("brian -last:beck", order_by='last_name')
     28}}}
     29
     30== Current Status ==
     31
     32Merquery is in a working state but needs some polish.
     33
     34LuceneIndexer currently works fine and is about 90% complete.
     35XapianIndexer and HypeIndexer are not yet fully functional, they are about 50% complete.
Back to Top