Hi,

I couldn't reproduce the problem in the following test case, so let's drop this.

Regards

- Thomas

--

import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.standard.*;
import org.apache.lucene.document.*;
import org.apache.lucene.index.*;
import org.apache.lucene.queryparser.classic.*;
import org.apache.lucene.search.*;
import org.apache.lucene.store.*;
import org.apache.lucene.util.*;

public class Test {
public static void main(String[] args) throws Exception {
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_45);
Directory directory = new RAMDirectory();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_45, analyzer);
IndexWriter writer = new IndexWriter(directory, config);
StringBuffer buffer = new StringBuffer();
for (int i1 = 0, n1 = 8; i1 < n1; i1++) {
buffer.append("This is test text number " + i1 + ". ");
Document doc = new Document();
doc.add(new StringField("id", "" + i1, Field.Store.YES));
if (i1 % 2 == 1)
doc.add(new TextField("group", "test1", Field.Store.NO));
else
doc.add(new TextField("group", "test2", Field.Store.NO));
doc.add(new TextField("fulltext", buffer.toString(), Field.Store.NO));
writer.addDocument(doc);
}
writer.close();
DirectoryReader reader = DirectoryReader.open(directory);
IndexSearcher searcher = new IndexSearcher(reader);
QueryParser parser = new QueryParser(Version.LUCENE_45, "fulltext", analyzer);
parser.setDefaultOperator(QueryParser.Operator.AND);
Query query = parser.parse("+group:test1");
TopScoreDocCollector collector = TopScoreDocCollector.create(256, true);
searcher.search(query, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;
for (int i2 = 0, n2 = hits.length; i2 < n2; i2++) {
Document doc = searcher.doc(hits[i2].doc);
System.out.println(doc.get("id"));
}
reader.close();
directory.close();
}
}

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to