The lucenenet project is a separate Apache project from Solr (and the
Lucene project as well).

You will have better luck getting helpful information on their mailing list
(https://cwiki.apache.org/confluence/display/LUCENENET/Mailing+Lists).

Best,
Chris

On Fri, Jul 27, 2018 at 8:40 AM - - <g...@12779.com> wrote:

> I use lucene.net to index the documents. My main aim was to get to search
> and have the line number and the line of text returned in a document.
>
>
> Here's the code that indexes
>
> using (TextReader contentsReader = new StreamReader(fi.FullName))
> {
>     doc.Add(new StringField("FullFileName", fi.FullName, Field.Store.YES));
>     doc.Add(new StringField("LastModifiedDate", modDate, Field.Store.YES));
>     //doc.Add(new TextField("Contents", contentsReader.ReadToEnd(),
> Field.Store.YES));
>
>     int lineCount = 1;
>     string line = String.Empty;
>     while ((line = contentsReader.ReadLine()) != null)
>     {
>         doc.Add(new Int32Field("LineNo", lineCount, Field.Store.YES));
>         doc.Add(new TextField("Contents", line, Field.Store.YES));
>         lineCount++;
>     }
>
>     Console.ForegroundColor = ConsoleColor.Blue;
>     Console.WriteLine("adding " + fi.Name);
>     Console.ResetColor();
>     writer.AddDocument(doc);
> }
>
>
> As you can see I add the filename, modified date, then I loop through all
> the lines in the file and add aTextFieldfor each line.
>
>
> This is how I search:
>
> Lucene.Net.Store.Directory directory =
> Lucene.Net.Store.FSDirectory.Open(new System.IO.DirectoryInfo(indexDir));
> Lucene.Net.Search.IndexSearcher searcher = new
> Lucene.Net.Search.IndexSearcher(Lucene.Net.Index.DirectoryReader.Open(directory));
> TopScoreDocCollector collector = TopScoreDocCollector.Create(100, true);
> searcher.Search(query, collector);
> ScoreDoc[] hits1 = collector.GetTopDocs().ScoreDocs;
> for (int i = 0; i < hits1.Length; i++)
> {
>     int docId = hits1[i].Doc;
>     float score = hits1[i].Score;
>
>     Lucene.Net.Documents.Document doc = searcher.Doc(docId);
>
>     string result = "FileName: " + doc.Get("FullFileName") + "\n"+
>     " Line No: " + doc.Get("LineNo") + "\n"+
>     " Contents: " + doc.Get("Contents");
> }
>
>
> Yet. My search results return 0 hits whereas if I simply comment out
> thatwhileloop and uncomment the commented line above I get the results.
>
>
> What could be the problem?
>

Reply via email to