[ 
https://issues.apache.org/jira/browse/LUCENENET-593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16121560#comment-16121560
 ] 

Warren Falk edited comment on LUCENENET-593 at 8/10/17 12:48 PM:
-----------------------------------------------------------------

I was able to reproduce this with the following (which works in Windows but not 
Linux)

            var store = new RAMDirectory();
            var analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48);
            var indexWriter = new IndexWriter(store, new 
IndexWriterConfig(LuceneVersion.LUCENE_48, analyzer));
            var searcherManager = new SearcherManager(indexWriter, true, null);
            var queryParser = new QueryParser(LuceneVersion.LUCENE_48, "text", 
analyzer);

            // add a document
            var id = "doc1";
            indexWriter.DeleteDocuments(new Term("id", id));
            indexWriter.AddDocument(new IIndexableField[] { new 
StringField("id", id, Field.Store.YES), new TextField("text", "the rain in 
spain", Field.Store.NO) });

            // find the document
            var query = queryParser.Parse("rain");
            searcherManager.MaybeRefreshBlocking();
            var searcher = searcherManager.Acquire();
            try
            {
                var results = searcher.Search(query, 10);
                foreach (var result in results.ScoreDocs)
                    Console.Write("Result: {0}", 
searcher.Doc(result.Doc).GetField("id").GetStringValue());
            }
            finally
            {
                searcherManager.Release(searcher);
            }



was (Author: warrenfalk):
I was able to reproduce this with the following (which works in Windows but not 
Linux)
{{
            var store = new RAMDirectory();
            var analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48);
            var indexWriter = new IndexWriter(store, new 
IndexWriterConfig(LuceneVersion.LUCENE_48, analyzer));
            var searcherManager = new SearcherManager(indexWriter, true, null);
            var queryParser = new QueryParser(LuceneVersion.LUCENE_48, "text", 
analyzer);

            // add a document
            var id = "doc1";
            indexWriter.DeleteDocuments(new Term("id", id));
            indexWriter.AddDocument(new IIndexableField[] { new 
StringField("id", id, Field.Store.YES), new TextField("text", "the rain in 
spain", Field.Store.NO) });

            // find the document
            var query = queryParser.Parse("rain");
            searcherManager.MaybeRefreshBlocking();
            var searcher = searcherManager.Acquire();
            try
            {
                var results = searcher.Search(query, 10);
                foreach (var result in results.ScoreDocs)
                    Console.Write("Result: {0}", 
searcher.Doc(result.Doc).GetField("id").GetStringValue());
            }
            finally
            {
                searcherManager.Release(searcher);
            }
}}

> NullReferenceException in Linux
> -------------------------------
>
>                 Key: LUCENENET-593
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-593
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: Lucene.Net Core
>    Affects Versions: Lucene.Net 4.8.0, Lucene.Net 5.0 PCL
>         Environment: Linux (ubuntu 64 bit, maybe all linux variants)
>            Reporter: Warren Falk
>
> A NullReferenceException on any attempt to query in Linux (ubuntu x64 in my 
> tests)
> I was able to track this down to the following line in Constants.cs
>         {{public static readonly string OS_ARCH = 
> GetEnvironmentVariable("PROCESSOR_ARCHITECTURE", "x86");}}
> Sure enough, PROCESSOR_ARCHITECTURE is not set by default in ubuntu server 
> x64 and when I set it, there is no failure.
> I would fix this, but I'm not sure what this value is used for, so I am not 
> sure what the appropriate behavior should be.  Should we try to find the 
> correct architecture here?  And what is the correct string, "amd64", "x64", 
> "x86_64"?  Or do we really just want to know the value of that if it is 
> actually not set, should we leave it blank?  The issue is that the InfoWriter 
> can't write a null, but it could write an empty string.
> I'll submit a pull request if anyone can tell me what correct behavior should 
> be.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to