Ignore:
Timestamp:
2006-09-18T14:32:31+12:00 (18 years ago)
Author:
mdewsnip
Message:

Changed the Lucene "-fuzzy" argument to "-fuzziness <value>", for more accurate control.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/java/org/nzdl/gsdl/LuceneWrap/GS2LuceneQuery.java

    r12656 r12770  
    4444    {
    4545    if (args.length == 0) {
    46         System.out.println("Usage: GS2LuceneQuery <index directory> [-fuzzy] [-filter filter_string] [-sort sort_field] [-dco AND|OR] [-startresults number -endresults number]");
     46        System.out.println("Usage: GS2LuceneQuery <index directory> [-fuzziness value] [-filter filter_string] [-sort sort_field] [-dco AND|OR] [-startresults number -endresults number]");
    4747        return;
    4848    }
     
    5858        Sort sorter = new Sort();
    5959        Filter filter = null;
    60             boolean fuzzy = false;
     60        String fuzziness = null;
    6161
    6262        // Paging
     
    8686                            default_conjuction_operator = args[i];
    8787                        }
    88                     if (args[i].equals("-fuzzy"))
     88                    if (args[i].equals("-fuzziness"))
    8989                        {
    90                             fuzzy = true;
     90                i++;
     91                fuzziness = args[i];
    9192                        }
    9293            if (args[i].equals("-startresults"))
     
    133134            query_including_stop_words = query_including_stop_words.rewrite(reader);
    134135
    135             Query query = parseQuery(reader, query_parser, query_string, fuzzy);
     136            Query query = parseQuery(reader, query_parser, query_string, fuzziness);
    136137            query = query.rewrite(reader);
    137138
     
    271272
    272273
    273     private static Query parseQuery(IndexReader reader, QueryParser query_parser, String query_string, boolean fuzzy)
     274    private static Query parseQuery(IndexReader reader, QueryParser query_parser, String query_string, String fuzziness)
    274275    throws java.io.IOException, org.apache.lucene.queryParser.ParseException
    275276    {
     
    304305    // If this is a fuzzy search, then we need to add the fuzzy
    305306    // flag to each of the query terms
    306     if (fuzzy && query.toString().length() > 0)
     307    if (fuzziness != null && query.toString().length() > 0)
    307308        {
    308309        // Revert the query to a string
     
    363364                    {
    364365                    ///ystem.err.println("Yahoo! Found fuzzy term.");
    365                     mutable_query_string.insert(o, '~');
     366                    mutable_query_string.insert(o, '~' + fuzziness);
    366367                    o++;
    367368                    s = 0; // Reset
     
    374375        if (s == 3)
    375376            {
    376             mutable_query_string.append('~');
     377            mutable_query_string.append('~' + fuzziness);
    377378            }
    378379        // Reparse the query
Note: See TracChangeset for help on using the changeset viewer.