[Xapian-discuss] Making Spelling Suggestion/Correction Work!

Benny Chan misterchan at gmail.com
Fri Jul 27 23:38:07 BST 2007

Hello All,

I have found solutions to my previous issues and have stumbled upon a new
one. Spelling suggestion. I can't get it to work. I index my documents as
usual, then I run this code in PHP:

        //create a query parser
        $query_parser = new XapianQueryParser();

        $rp = new XapianDateValueRangeProcessor(0, true);

        //set the stemmer and turn on the stemming strategy
        $stemmer = new XapianStem("english");

        //set the database

        //set prefix
        $query_parser->add_boolean_prefix("category", "XC");
        //add prefix so you can search within titles
        $query_parser->add_prefix("title", "S");

        //create enquire object
        $enq = new XapianEnquire($db);

        //parse and create the query
        $query = $query_parser->parse_query($_REQUEST["search"],
        if (strlen(trim($_REQUEST["broad_category_id"])) > 0) {
            $query = new XapianQuery(XapianQuery::OP_FILTER, $query, new
XapianQuery("XC" . $_REQUEST["broad_category_id"]));

        $var =  $query_parser->get_corrected_query_string();
        echo $var . "\n";

I type in mispelled words like "edcation" and "scool" but get nothing. The
words "education" and "school" return results so I'm assuming those words
are in the spelling database. However, I don't know. I just index documents
as usual without manually creating a separate spelling database. Should I?
This seems like such a cool feature, I'm dying to get it to work. If anyone
can shed some light on this, I'd really appreciate it. Thanks for reading.


More information about the Xapian-discuss mailing list