Return-Path: Delivered-To: apmail-incubator-couchdb-dev-archive@locus.apache.org Received: (qmail 64121 invoked from network); 30 May 2008 21:45:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 May 2008 21:45:48 -0000 Received: (qmail 49301 invoked by uid 500); 30 May 2008 21:45:50 -0000 Delivered-To: apmail-incubator-couchdb-dev-archive@incubator.apache.org Received: (qmail 49264 invoked by uid 500); 30 May 2008 21:45:50 -0000 Mailing-List: contact couchdb-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: couchdb-dev@incubator.apache.org Delivered-To: mailing list couchdb-dev@incubator.apache.org Received: (qmail 49248 invoked by uid 99); 30 May 2008 21:45:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 May 2008 14:45:50 -0700 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of paul.joseph.davis@gmail.com designates 64.233.184.227 as permitted sender) Received: from [64.233.184.227] (HELO wr-out-0506.google.com) (64.233.184.227) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 May 2008 21:45:02 +0000 Received: by wr-out-0506.google.com with SMTP id c46so76479wra.18 for ; Fri, 30 May 2008 14:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=Jhaucu6/aODqkyh6t62yYccHO3/klQa5tN7n3kvzPUc=; b=WORf5nWoUxlzdzNPim8NF8uOO/qSV3eSXT8lKmJVzSu6lO5ie2yftU7d+HEY4CjnO2UEeA8m3n4dVI5Dwgf+gbcQx2GwoT57I0K/NcWFCmJs+kEcefKJtQPDlFm5fepUMhz6g7/s1jPur97Znwo5YIhJfAWABGxxSFThRldTJFU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=evDyGKNHwTze3oqKPMLDE4U9mbfH07SbUDclXsOnXbMbmjzf4XE4iYW690xkVX1LGzk8B2TjZxydG6xPfP+XG5V0Qmzoq/Vov1+P7YemulxaxTG+EAo15uOFZ+rrLAP+4CTziIe+pdbJDk/a3EXBab+GNdj/HWDoe8D0x3TgLgE= Received: by 10.101.67.11 with SMTP id u11mr3764551ank.118.1212183917968; Fri, 30 May 2008 14:45:17 -0700 (PDT) Received: by 10.100.126.15 with HTTP; Fri, 30 May 2008 14:45:17 -0700 (PDT) Message-ID: Date: Fri, 30 May 2008 17:45:17 -0400 From: "Paul Davis" To: couchdb-dev@incubator.apache.org Subject: Re: [jira] Created: (COUCHDB-74) CouchDB full text searching In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <601011174.1212183285060.JavaMail.jira@brutus> X-Virus-Checked: Checked by ClamAV on apache.org Second update. I know. I fail. These lines also have a typo: DbUpdateNotificationProcess=/path/to/couch-xapian/xapian-indexer ExternalQueryServer=/path/to/couch-xapian/xapian-query-server Should be: DbUpdateNotificationProcess=/path/to/couchdb-xapian/xapian-indexer ExternalQueryServer=/path/to/couchdb-xapian/xapian-query-server Hopefully thats all. On 5/30/08, Paul Davis wrote: > Noticed a couple errors in that: > > davisp@nebula:/usr/local/src/tmp/couchdb-lucene$ tar -cvf > couchdb-xapian.tar.gz couchdb-xapian/ > > should be > > davisp@nebula:/usr/local/src/tmp/couchdb-lucene$ tar -cvzf > couchdb-xapian.tar.gz couchdb-xapian/ > > And xapian.conf is in /path/to/couchdb-xapian/ > > I think that's it. > > On 5/30/08, Paul Joseph Davis (JIRA) wrote: >> CouchDB full text searching >> --------------------------- >> >> Key: COUCHDB-74 >> URL: https://issues.apache.org/jira/browse/COUCHDB-74 >> Project: CouchDB >> Issue Type: New Feature >> Components: Full-Text Search, HTTP Interface >> Environment: branches/lucene-search >> Reporter: Paul Joseph Davis >> >> >> I've managed to piece enough together to get full text search working with >> xapian and python. >> >> You'll need to have a relatively recent version of xapian-core and >> xapian-bindings installed. I've got 1.0.6 installed. The version in Gutsy >> Gibon's repositories was too old. Specifically, there's a requirement for >> the xapian.WritableDatabase to have set_metadata. If your bindings have >> that, you should be golden. >> >> Basic install insructions: >> >> Download a fresh copy of the lucene-search branch: >> >> davisp@nebula:/usr/local/src/tmp$ svn co >> http://svn.apache.org/repos/asf/incubator/couchdb/branches/lucene-search >> couchdb-lucene >> >> Unpack the tarball attached to this ticket: >> >> davisp@nebula:/usr/local/src/tmp/couchdb-lucene$ tar -cvf >> couchdb-xapian.tar.gz couchdb-xapian/ >> >> Apply the patch to the lucene branch: >> >> $ cd couchdb-lucene/ >> $ svn mv src/couchdb/couch_ft_query.erl src/couchdb/couch_query.erl >> $ patch -p0 -i ../couchdb-xapian/json_external_query_server.diff >> >> Build the patched version of CouchDB: >> >> $ ./bootstrap && ./configure && make && sudo make install >> >> Edit the xapian.conf: >> >> [couchdb] >> base_url = url of your couchdb instance. Probably http://localhost:5984/ >> index_directory = directory where the user running couchdb can write to. >> ie, >> /usr/local/var/lib/couchdb/xapian/ >> >> [index:dbname] #Dbname is the name of the database you want to index >> view=_all_docs_by_seq #The index sections aren't going to stay like this. >> This is the only view that will work correctly. >> attributes=list of document attributes to index #At the moment, you >> probably >> just want to stick with string args. This will be improved in the future. >> >> Copy the xapian.conf next to your couch.ini: >> >> $ sudo cp xapian.conf /usr/local/etc/couchdb/ >> >> Edit your couch.ini: >> >> $ sudo vi /usr/local/etc/couchdb/couch.ini >> >> In the [Couch] section, add the following: >> >> DbUpdateNotificationProcess=/path/to/couch-xapian/xapian-indexer >> ExternalQueryServer=/path/to/couch-xapian/xapian-query-server >> >> If your xapian.ini doesn't live at /usr/local/etc/couchdb/xapian.conf, add >> " >> -c /path/to/xapian.conf" to the end of both those options in couch.ini >> >> Lastly, fireup couchdb as usual. >> >> Each database/view in xapian.conf will be indexed when couchdb starts up >> and >> when the db changes as expected. >> >> To issue a query, try a url like: >> >> http://localhost:5984/dbname/_search?query=hello+mom >> >> _search parameters for xapian querying include: query, offset, limit, and >> view. (Remember we can't index views other than _all_docs_by_seq yet, so >> just ignore that for now) >> >> ============= >> >> Hopefully I didn't forget any steps in that. So the current state of >> things >> is that the indexing and searching work. I haven't tested things like >> languages etc yet. I have plans to make the xapian.conf file control all >> of >> the multitude of stuff that xapian supports. For now I was just going for >> bare bones, so don't fret if your favorite xapian feature isn't there yet. >> >> Also, the view indexing still needs work. This will probably have to wait >> until Damien gets a method to support finding only changed documents in a >> view. I don't know if I have enough erlang fu to make this work on my own. >> (I'm doubting I do) >> >> Also also, I'm planning on adding support for the neat xapian features >> like >> suggested search terms etc. I'll get to things of this nature as more >> people >> start using the package and I've ironed out the more major things. >> >> Other than that, please send feedback. >> >> >> >> -- >> This message is automatically generated by JIRA. >> - >> You can reply to this email to add a comment to the issue online. >> >> >