[ANN] whistlepig: real-time search for ruby

W

William Morgan

Hi all,

I've released Whistlepig 0.5.

Whistlepig is a minimalist realtime full-text search index. Its goal is
to be as small and feature-free as possible, while still remaining
useful, performant and scalable to large corpora. If you want realtime
full-text search without the frills, Whistlepig may be for you.

Whistlepig is written in ANSI C99. It currently provides a C API and
Ruby bindings.

More:

http://masanjin.net/whistlepig/

Synopsis:

require 'rubygems'
require 'whistlepig'

include Whistlepig

index = Index.new "index"

## adding a document is easy
entry1 = Entry.new
entry1.add_string "body", "hello there bob"
docid1 = index.add_entry entry1 # => 1

## let's add another one
entry2 = Entry.new
entry2.add_string "body", "goodbye bob"
docid2 = index.add_entry entry2 # => 2

## documents are immediately available for search
q1 = Query.new "body", "bob"
results1 = index.search q1 # => [2, 1]

## queries can be constructed programmatically
q2 = q1.and Query.new("body", "hello")
results2 = index.search q2 # => [1]

## you can add labels to documents
index.add_label docid2, "funny"

## labels can be mixed into queries with the ~ operator
q3 = Query.new "body", "bob ~funny"
results3 = index.search q3 # => [2]

## you can have arbitrary fields!
entry3 = Entry.new
entry3.add_string "body", "hello joe"
entry3.add_string "subject", "what do you know?"
docid3 = index.add_entry entry3 # => 3

## fielded search uses a :
q4 = Query.new "body", "subject:know hello"
results4 = index.search q4 # => [3]

## and there's much much more...

I'm using it to implement a gmail-like email server.
(https://github.com/wmorgan/heliotrope). It might be useful to you too.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,007
Messages
2,570,267
Members
46,866
Latest member
Aletlirm

Latest Threads

Top