comparison lucene/src/luan/modules/lucene/LuceneIndex.java @ 622:1a53333eb4d5

remove Lucene all_search_terms_must_match() since now query suffix "~a" handles this
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 07 Jan 2016 03:06:52 -0700
parents fd15da41afca
children 8281a248c47e
comparison
equal deleted inserted replaced
621:fd15da41afca 622:1a53333eb4d5
83 private IndexSearcher searcher; 83 private IndexSearcher searcher;
84 private final ThreadLocal<IndexSearcher> threadLocalSearcher = new ThreadLocal<IndexSearcher>(); 84 private final ThreadLocal<IndexSearcher> threadLocalSearcher = new ThreadLocal<IndexSearcher>();
85 private boolean isClosed = false; 85 private boolean isClosed = false;
86 private final MultiFieldParser mfp; 86 private final MultiFieldParser mfp;
87 public final LuanTable indexed_only_fields = new LuanTable(); 87 public final LuanTable indexed_only_fields = new LuanTable();
88 public BooleanClause.Occur defaultOccur = BooleanClause.Occur.SHOULD;
89 88
90 public LuceneIndex(LuanState luan,String indexDirStr,FieldParser defaultFieldParser,String[] defaultFields) throws LuanException, IOException { 89 public LuceneIndex(LuanState luan,String indexDirStr,FieldParser defaultFieldParser,String[] defaultFields) throws LuanException, IOException {
91 mfp = defaultFieldParser==null ? new MultiFieldParser() : new MultiFieldParser(defaultFieldParser,defaultFields); 90 mfp = defaultFieldParser==null ? new MultiFieldParser() : new MultiFieldParser(defaultFieldParser,defaultFields);
92 mfp.fields.put( "type", STRING_FIELD_PARSER ); 91 mfp.fields.put( "type", STRING_FIELD_PARSER );
93 mfp.fields.put( "id", NumberFieldParser.LONG ); 92 mfp.fields.put( "id", NumberFieldParser.LONG );
130 NumericUtils.longToPrefixCoded(value,0,br); 129 NumericUtils.longToPrefixCoded(value,0,br);
131 return new Term(key,br); 130 return new Term(key,br);
132 } 131 }
133 132
134 public void delete(LuanState luan,String queryStr) throws LuanException, IOException, ParseException { 133 public void delete(LuanState luan,String queryStr) throws LuanException, IOException, ParseException {
135 Query query = SaneQueryParser.parseQuery(mfp,queryStr,defaultOccur); 134 Query query = SaneQueryParser.parseQuery(mfp,queryStr);
136 135
137 boolean commit = !writeLock.isHeldByCurrentThread(); 136 boolean commit = !writeLock.isHeldByCurrentThread();
138 writeLock.lock(); 137 writeLock.lock();
139 try { 138 try {
140 writer.deleteDocuments(query); 139 writer.deleteDocuments(query);
344 close(openSearcher()); 343 close(openSearcher());
345 } 344 }
346 345
347 public int advanced_search( final LuanState luan, String queryStr, LuanFunction fn, Integer n, String sortStr ) throws LuanException, IOException, ParseException { 346 public int advanced_search( final LuanState luan, String queryStr, LuanFunction fn, Integer n, String sortStr ) throws LuanException, IOException, ParseException {
348 Utils.checkNotNull(luan,queryStr); 347 Utils.checkNotNull(luan,queryStr);
349 Query query = SaneQueryParser.parseQuery(mfp,queryStr,defaultOccur); 348 Query query = SaneQueryParser.parseQuery(mfp,queryStr);
350 IndexSearcher searcher = threadLocalSearcher.get(); 349 IndexSearcher searcher = threadLocalSearcher.get();
351 boolean inTransaction = searcher != null; 350 boolean inTransaction = searcher != null;
352 if( !inTransaction ) 351 if( !inTransaction )
353 searcher = openSearcher(); 352 searcher = openSearcher();
354 try { 353 try {