Sunnetha,
this is my Search code... I have tried the get("body") call but it returns a Null.....
thus i cannot actually process document contents...... I need to do this to extract
data such as document titles etc
currently it uses get("path") to get the documents path but if I were to change that
to get("body") to System.out.print the contents it would print "Null"
anyway.. here is the code:
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.StopAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Hits;
import org.apache.lucene.queryParser.QueryParser;
public class Search {
public static void main(String[] args) throws Exception {
String indexPath = "index", queryString = "sharon";
Searcher searcher = new IndexSearcher(indexPath);
Query query = QueryParser.parse(queryString, "body",
new StopAnalyzer());
Hits hits = searcher.search(query);
for (int i=0; i<hits.length(); i++) {
System.out.println(hits.doc(i).get("path") + "; Score: " +
hits.score(i));
};
}
}
>>> [EMAIL PROTECTED] 03/14/02 03:35PM >>>
Hi Roshan,
U've got to get the contents as
doc(i).get("body")
The field name has to match what is queried back .
Suneetha.
NAVENDRA wrote:
> It is being added as a Text field.... which is stored i gather. Is is also being
>added as as a Reader.... this might be the problem I am not sure.
>
> Here is my code, can anybody please help me.
>
> import org.apache.lucene.analysis.SimpleAnalyzer;
> import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.*;
>
> import java.io.*;
>
> public class IndexFiles {
> // usage: IndexFiles index-path file . . .
> public static void main(String[] args) throws Exception {
> String indexPath = args[0];
> IndexWriter writer;
>
> writer = new IndexWriter(indexPath, new SimpleAnalyzer(), false);
> for (int i=1; i<args.length; i++) {
> System.out.println("Indexing file " + args[i]);
> InputStream is = new FileInputStream(args[i]);
>
>
>
> // We create a Document with two Fields, one which contains
> // the file path, and one the file's contents.
> Document doc = new Document();
> doc.add(Field.UnIndexed("path", args[i]));
> doc.add(Field.Text("body", (Reader) new InputStreamReader(is)));
>
> writer.addDocument(doc);
> is.close();
> };
>
> writer.close();
> }
> }
>
> >>> [EMAIL PROTECTED] 03/14/02 03:21PM >>>
> Make sure that you added it to the index as a stored field, and not
> just indexed. Look at the Javadoc for Field class to see different
> field types.
>
> Otis
>
> --- ROSHAN NAVENDRA <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I would like to access the contents field of a document, fo rexample
> >
> > doc(i).get("contents")
> >
> > this should return a String (am i right?) but when I print it out I
> > find that it is a Null. How do I go about accessing the contents of
> > the file????
> >
> > Rosh.
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> >
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Sports - live college hoops coverage
> http://sports.yahoo.com/
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>