package src;
/*
 * TestField.java
 *
 * Created on September 26, 2002, 8:32 AM
 */

import org.apache.lucene.store.*;
import org.apache.lucene.document.*;
import org.apache.lucene.analysis.*;
import org.apache.lucene.index.*;
import org.apache.lucene.search.*;
import org.apache.lucene.queryParser.*;

/**
 *
 * @author  alex
 */
public class TestField {
    
    /** Creates a new instance of TestField */
    public TestField() {
    }
    
    /**
     * @param args the command line arguments
     */
    
    public static void main(String[] args) throws Exception {
        Directory directory = new RAMDirectory();
        Analyzer analyzer = new WhitespaceAnalyzer();
        IndexWriter writer = new IndexWriter(directory, analyzer, true);
        
        Document d = new Document();
        int i=0;
        
        for (i=0; i<10; i++) {
            d.add(Field.Keyword("nr", Integer.toString(i)));
            d.add(Field.Keyword("element","POST"));
            writer.addDocument(d);
        }
        d.add(Field.Keyword("nr", Integer.toString(i)));
        d.add(Field.Keyword("element", "GET"));
        writer.addDocument(d);
        writer.close();
        
        
        Searcher searcher = new IndexSearcher(directory);
        Hits hits = null;

        BooleanQuery bq = new BooleanQuery();
        bq.add(new TermQuery(new Term("element", "POST")), true, false);
        bq.add(new TermQuery(new Term("nr", "3")), true, false);
        
        System.out.println("Query: " + bq.toString("nr, element"));
        hits = searcher.search(bq);
        if (hits.length() == 0)
            System.out.println("\nNo records found!");
        else
            for (i=0; i<hits.length(); i++) {
                d = hits.doc(i);
                System.out.println(hits.score(i) + " " + d.getField("nr") + " " + d.getField("element"));
            }
        
        searcher.close();
    }
}

