Changeset 12364 for trunk/indexers


Ignore:
Timestamp:
2006-08-01T11:33:37+12:00 (18 years ago)
Author:
mdewsnip
Message:

Now uses the t variable to control whether a "some" or "all" search is done with Lucene. Many thanks to John Thompson and DL Consulting Ltd.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/indexers/lucene-gs/src/org/greenstone/LuceneWrapper/GS2LuceneQuery.java

    r12275 r12364  
    3939        Searcher searcher = new IndexSearcher(args[0]);
    4040        Sort sorter = new Sort();
    41         if (args.length > 1) {
    42         sorter = new Sort(args[1]);
    43         }
     41            // New code to allow the default conjunction operator to be
     42            // definable
     43            String default_conjuction_operator = "OR";
     44            for (int i = 1; i < args.length; i++)
     45                {
     46                    if (args[i].equals("-sort"))
     47                        {
     48                            i++;
     49                            sorter = new Sort(args[i]);
     50                        }
     51                    if (args[i].equals("-dco"))
     52                        {
     53                            i++;
     54                            default_conjuction_operator = args[i];
     55                        }
     56                }
     57
    4458        Analyzer analyzer = new StandardAnalyzer();
    4559        IndexReader reader = ((IndexSearcher) searcher).getIndexReader();
     
    5670        // Parse the query and rewrite it into individual terms (eg. for wildcard searches)
    5771        QueryParser query_parser = new QueryParser("TX", analyzer);
     72                // Set the default conjuction operator
     73                System.err.println("**** DCO = " + default_conjuction_operator);
     74                if (default_conjuction_operator.equals("AND"))
     75                    {
     76                        query_parser.setDefaultOperator(query_parser.AND_OPERATOR);
     77                    }
     78                // Otherwise its OR
     79
    5880        Query query = query_parser.parse(query_string);
    5981        query = query.rewrite(reader);
     
    7193        while (iter.hasNext()) {
    7294            Term term = (Term) iter.next();
    73             System.out.println("  <Term value=\"" + term.text() + "\" freq=\"" + reader.docFreq(term) + "\"/>");
     95                    //System.out.println("  <Term value=\"" + term.text() + "\" freq=\"" + reader.docFreq(term) + "\"/>");
     96            System.out.println("  <Term value=\"" + term.text() + "\" freq=\"" + reader.docFreq(term) + "\" field=\"" + term.field() + "\"/>");
    7497        }
    7598
Note: See TracChangeset for help on using the changeset viewer.