Changeset 12364
- Timestamp:
- 2006-08-01T11:33:37+12:00 (18 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/bin/script/lucene_query.pl
r12275 r12364 53 53 { 54 54 my $full_indexdir = shift(@_); 55 my $sort_field = shift(@_) || ""; 56 my $out_file = shift(@_); 55 my $sort_field = 0; 56 my $dco = 0; 57 my $out_file = 0; 58 for ($i = 0; $i < scalar(@_); $i++) 59 { 60 if ($_[$i] eq "-sort") 61 { 62 $i++; 63 $sort_field = $_[$i]; 64 } 65 elsif ($_[$i] eq "-dco") 66 { 67 $i++; 68 $dco = $_[$i]; 69 } 70 else 71 { 72 $out_file = $_[$i]; 73 } 74 } 75 76 57 77 my $bin_java = &util::filename_cat($ENV{'GSDLHOME'},"bin","java"); 58 78 my $classpath = &util::filename_cat($bin_java,"LuceneWrap.jar"); … … 66 86 $out_file = ""; 67 87 } 68 if (!open (PIPEOUT, "| $java_cmd \"$full_indexdir\" $sort_field")) { 88 89 my $cmd = "| " . $java_cmd . " \"" . $full_indexdir . "\""; 90 if ($sort_field) 91 { 92 $cmd .= " -sort " . $sort_field; 93 } 94 if ($dco) 95 { 96 $cmd .= " -dco " . $dco; 97 } 98 99 print STDERR $cmd . "\n"; 100 101 if (!open (PIPEOUT, $cmd)) { 69 102 die "$PROGNAME - couldn't run $java_cmd\n"; 70 103 } -
trunk/gsdl/src/colservr/lucenesearch.cpp
r12276 r12364 84 84 } 85 85 86 87 86 bool lucenesearchclass::search(const queryparamclass &queryparams, 88 87 queryresultsclass &queryresult) { … … 107 106 } 108 107 109 // set default Boolean combiner from all/some setting110 // if match_mode == 1, ie all, default=1 ie AND111 // if match_mode == 0, ie some, default=0, ie OR112 int defaultBoolCombine = 0;113 if (queryparams.match_mode){114 defaultBoolCombine = 1;115 }116 117 108 text_t utf8querystring = to_utf8(queryparams.querystring); 118 109 cerr << "**** query string = " << utf8querystring << endl; … … 131 122 cmd += (text_t)" \""+indexname + (text_t)"\" \"" + escaped_utf8querystring + (text_t)"\""; 132 123 if (!queryparams.sortfield.empty()) { 133 cmd += " \"" + queryparams.sortfield + "\""; 134 } 124 cmd += " -sort \"" + queryparams.sortfield + "\""; 125 } 126 127 // New code to support configuration of the default conjuction operator 128 // set default Boolean combiner from all/some setting 129 // if match_mode == 1, ie all, default=1 ie AND 130 // if match_mode == 0, ie some, default=0, ie OR 131 if (queryparams.match_mode) 132 { 133 cmd += " -dco AND"; 134 } 135 135 136 cerr << "Lucene command: " << cmd << endl; 136 137 -
trunk/gsdl/src/java/org/nzdl/gsdl/LuceneWrap/GS2LuceneQuery.java
r12275 r12364 39 39 Searcher searcher = new IndexSearcher(args[0]); 40 40 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 44 58 Analyzer analyzer = new StandardAnalyzer(); 45 59 IndexReader reader = ((IndexSearcher) searcher).getIndexReader(); … … 56 70 // Parse the query and rewrite it into individual terms (eg. for wildcard searches) 57 71 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 58 80 Query query = query_parser.parse(query_string); 59 81 query = query.rewrite(reader); … … 71 93 while (iter.hasNext()) { 72 94 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() + "\"/>"); 74 97 } 75 98 -
trunk/indexers/lucene-gs/src/org/greenstone/LuceneWrapper/GS2LuceneQuery.java
r12275 r12364 39 39 Searcher searcher = new IndexSearcher(args[0]); 40 40 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 44 58 Analyzer analyzer = new StandardAnalyzer(); 45 59 IndexReader reader = ((IndexSearcher) searcher).getIndexReader(); … … 56 70 // Parse the query and rewrite it into individual terms (eg. for wildcard searches) 57 71 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 58 80 Query query = query_parser.parse(query_string); 59 81 query = query.rewrite(reader); … … 71 93 while (iter.hasNext()) { 72 94 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() + "\"/>"); 74 97 } 75 98
Note:
See TracChangeset
for help on using the changeset viewer.