That's the general idea.
Check out the lucene branch. There's a bit of erlang glue that will be
needed to create the external process as well as pipe requests from
_search to it.
Paul
On Fri, Jul 25, 2008 at 12:26 PM, Bradford Winfrey
<[EMAIL PROTECTED]> wrote:
> If I was to get really crazy and try to actually interface xapian with
> couchdb, would this still apply?
> [Couch]
> ExternalQueryServer=/path/to/my/query-intake
>
> If so, what do I need to respond with? Just your typical response of:
>
> {
> "total_rows":6,
> "offset":0,
> "rows":[{"id":"1","field":value1"},{"id":"2","field":value2"}]
> }
>
>
> and that get's flushed back to the browser?
>
>
> ----- Original Message ----
> From: Bradford Winfrey <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Friday, July 25, 2008 10:58:01 AM
> Subject: Re: Is the xapian search ticket still valid?
>
> Yea, I've got it rocking and rolling now...thanks for the update!
>
>
>
> ----- Original Message ----
> From: Paul Davis <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Friday, July 25, 2008 10:38:41 AM
> Subject: Re: Is the xapian search ticket still valid?
>
> Thats the ticket.
>
> I should've mentioned that you can use the _all_docs_by_seq view to
> get the list of docs that have change since a certain sequence id.
>
> Sequence id is basically just a number that's incremented after every
> operation on the db. So, if you get a status update from
> DbUpdateNotification, you would query the view as such:
>
> http://localhost:5984/db/_all_docs_by_seq?startkey=NUM
>
> Where NUM is the last sequence id you processed (or zero for the first
> pass). IIRC I was storing this as a meta variable on the xapian
> database for persistence.
>
> Paul
>
> On Fri, Jul 25, 2008 at 10:05 AM, Bradford Winfrey
> <[EMAIL PROTECTED]> wrote:
>> I think I may have answered my own question here...I'm going to assume you
>> are simply notified of the change to the database itself (an update, a
>> delete, etc...). It's then up to me to re-index Xapian, Sphinx, whatever my
>> fulltext mechanism is by maybe using a tracker of the last document I
>> indexed? I maintain the state of my last document indexed and then grab
>> from there onward perhaps?
>>
>>
>>
>>
>> ----- Original Message ----
>> From: Bradford Winfrey <[EMAIL PROTECTED]>
>> To: [email protected]
>> Sent: Friday, July 25, 2008 9:01:47 AM
>> Subject: Re: Is the xapian search ticket still valid?
>>
>> I've been meaning to ask, since you state that json objects are separated by
>> a number of blank lines, I should most definitely be getting back more than
>> just {"type":"updated","db":"dbname"}, correct? I won't be surprised if
>> it's a "me" problem, but I just wanted to double-check to see if there's
>> anything I'm missing. Is there a certain termination character I could
>> watch for to let me know that the input has completed?
>>
>>
>>
>>
>> ----- Original Message ----
>> From: Paul Davis <[EMAIL PROTECTED]>
>> To: [email protected]
>> Sent: Wednesday, July 23, 2008 11:02:14 AM
>> Subject: Re: Is the xapian search ticket still valid?
>>
>> Its DbUpdateNotificationProcess in the config file.
>>
>> It echos json to stdin of whatever program you specify in the config.
>>
>> The json format is something like:
>> { 'dbname': 'status' }\n
>> \n
>>
>> I don't remember the number of blank lines following each json object
>> though. Its either 0, 1 or 2 I reckon. Using that it should be easy
>> enough to setup an external xapian (or other, take a look at
>> pyndexter) search engine.
>>
>> On Wed, Jul 23, 2008 at 11:55 AM, Bradford Winfrey
>> <[EMAIL PROTECTED]> wrote:
>>> Thanks Paul, I'll hold off on that then and just try updating it
>>> externally. Is there still that mechanism that will send to anything that
>>> listens to STDIN when a record is created/updated/delete/etc? I can't
>>> recall the name of it, I assume it's the db update notification you spoke
>>> of. Is there a resource where I can see what the product of that is? For
>>> instance, does it produce json or just key:value parameters?
>>>
>>> Brad
>>>
>>> ----- Original Message ----
>>> From: Paul Davis <[EMAIL PROTECTED]>
>>> To: [email protected]
>>> Sent: Wednesday, July 23, 2008 10:45:55 AM
>>> Subject: Re: Is the xapian search ticket still valid?
>>>
>>> I'm not certain if that patch will still apply cleanly to trunk. There
>>> was some trimming durring the 0.8 release and the unfinished _search
>>> api got axed. I don't know if this means that the whole mechanics for
>>> having external search processes got axed too.
>>>
>>> At the moment, a lot of us are waiting for the couchdb <-> external
>>> processes connection to stabilize before jumping on this.
>>>
>>> For the moment, using an external server with access to db update
>>> notifications might be your best bet unless someone else has hacked
>>> together a temporary fix.
>>>
>>> Paul
>>>
>>> On Wed, Jul 23, 2008 at 11:35 AM, Bradford Winfrey
>>> <[EMAIL PROTECTED]> wrote:
>>>> I saw this url -
>>>> https://issues.apache.org/jira/browse/COUCHDB-74?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>>>> and was wondering if it's still applicable to trunk as it stands now. I
>>>> need to start implementing a search capability into my application and am
>>>> trying to keep things "in the couchdb family" for sanity's sake.
>>>>
>>>> If anyone has any input, I'd love to hear it!
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>