Thanks again Simon.

OK, I merged the PR you pointed to into my fork. However, I couldn’t help but 
notice there are still exceptions because it (strangely) wasn’t always using 
the infrastructure he added. Therefore, I made my own changes [1] to ensure 
that exceptions are never thrown, even when searching.

Secondly, I was able to track down my primary issue. QueryParserTokenManager 
was using System.Console.Out when creating its debug stream. Although I 
couldn’t tell you with 100% certainty, it seems that running a mobile app 
without a debugger attached results in this stream simply not existing and, 
hence, the error I was seeing. I’ve patched my fork [2] to simply remove the 
debug stream altogether, since nothing was actually writing to it.

Since no changes are being applied to 3.x anymore I won’t bother to PR any of 
this, but just thought I’d make you aware of it.

Cheers,
Kent

[1] 
https://github.com/kentcb/Xamarin-Lucene.Net/commit/1a024a2a6708cea5287d45c2070e7d407818a044
 
<https://github.com/kentcb/Xamarin-Lucene.Net/commit/1a024a2a6708cea5287d45c2070e7d407818a044>
[2] 
https://github.com/kentcb/Xamarin-Lucene.Net/commit/c60a62bf5c2154177dea636c799d5f064ebe640e
 
<https://github.com/kentcb/Xamarin-Lucene.Net/commit/c60a62bf5c2154177dea636c799d5f064ebe640e>


> On 9 Nov 2015, at 4:21 PM, Simon Svensson <[email protected]> wrote:
> 
> Hi,
> 
> There are several _usable_ branches, but there's no stable branches
> beyond 3.0.3. There is, however, [a open pull-request][1] for the 3.0.3
> branch that, from the looks of it, removes some exceptions from the
> query parser functionality.
> 
> // Simon
> 
> [1]: https://github.com/apache/lucenenet/pull/131 
> <https://github.com/apache/lucenenet/pull/131>
> 
> 
> On 07/11/15 12:57, Kent Boogaart wrote:
>> Thanks Simon.
>> 
>> So, just to be clear, there are no usable branches of Lucene.NET post 3.0.x? 
>> I was assuming there was something usable because of this post: 
>> http://stackoverflow.com/a/24897255/1228288, wherein Peter Bailey says be 
>> has used a later build to avoid the spurious exceptions I mentioned in point 
>> #1.
>> 
>> Assuming there is nothing post 3.0.x I can use, my recourse here will be to 
>> simply use the project as is and debug it to try to determine why I’m 
>> getting the second issue. I can live with the first-chance exceptions, but 
>> the second issue is a blocker.
>> 
>> FWIW, the changes I needed to make to the core project to get it to build 
>> for iOS were all to do with AppSettings, because ConfigurationManager simply 
>> doesn’t exist. Consequently, there are some knock-on changes to Contants.cs 
>> and StringHelper.cs. One other thing I had to do when I was using that 
>> project was to manually add the snowball analyzer in, since it was omitted.
>> 
>> Cheers,
>> Kent
>> 
>>> On 7 Nov 2015, at 6:12 PM, Simon Svensson <[email protected]> wrote:
>>> 
>>> Hi Kent,
>>> 
>>> Based on the core/Util/Version.cs of chrigu-ebert/Xamarin-Lucene, it's
>>> version 3.0.x. The latest stable version of Lucene.Net <http://lucene.net/> 
>>> <http://lucene.net/ <http://lucene.net/>> is 3.0.3, so his
>>> sources seem correct. (I have, however, issues with his non-documented
>>> approach to modifying the source code. Are these changes that perhaps
>>> could go back to the real Lucene.Net <http://lucene.net/> 
>>> <http://lucene.net/ <http://lucene.net/>> source?)
>>> 
>>> There are no newer stable code for you to use. I presume you tried the
>>> master branch of apache/lucenenet, but it's currently an in-progress
>>> port of Lucene 4.8 and is in no ways complete.
>>> 
>>> The MultiFieldQueryParser (and the QueryParser) are not longer present
>>> in the core, but moved to the [java-package
>>> org.apache.lucene.queryparser.classic][1]. This means that we'll have in
>>> a separate project once it's ported, but there is to timeline for that.
>>> 
>>> // Simon
>>> 
>>> [1]:
>>> https://lucene.apache.org/core/4_8_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html
>>>  
>>> <https://lucene.apache.org/core/4_8_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html>
>>>  
>>> <https://lucene.apache.org/core/4_8_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html
>>>  
>>> <https://lucene.apache.org/core/4_8_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html>>
>>> 
>>> On 07/11/15 07:50, Kent Boogaart wrote:
>>>> OK, I’ve changed tact. I’m instead building the Lucene.Net 
>>>> <http://lucene.net/> source
>>>> whilst targeting Xamarin platforms.
>>>> 
>>>> I can get the core project to build with a few minor changes.
>>>> However, the Lucene.Net <http://lucene.net/> solution appears to be 
>>>> completely missing
>>>> MultiFieldQueryParser. Where has this gone? Can anyone please
>>>> enlighten me - I’m struggling to reconcile the state of this project
>>>> against the Javadocs for Lucene itself (which shows that
>>>> MultiFieldQueryParser is still a thing).
>>>> 
>>>> Thanks, Kent
>>>> 
>>>>> On 7 Nov 2015, at 11:06 AM, Kent Boogaart <[email protected] 
>>>>> <mailto:[email protected]>>
>>>>> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> I’m using Lucene from a mobile app (using Xamarin) via this
>>>>> project: https://github.com/chrigu-ebert/Xamarin-Lucene.Net 
>>>>> <https://github.com/chrigu-ebert/Xamarin-Lucene.Net>
>>>>> <https://github.com/chrigu-ebert/Xamarin-Lucene.Net 
>>>>> <https://github.com/chrigu-ebert/Xamarin-Lucene.Net> 
>>>>> <https://github.com/chrigu-ebert/Xamarin-Lucene.Net 
>>>>> <https://github.com/chrigu-ebert/Xamarin-Lucene.Net>>>
>>>>> 
>>>>> However, I would like to upgrade to a more recent Lucene.NET 
>>>>> <http://lucene.net/> <http://lucene.net/ <http://lucene.net/>>
>>>>> <http://lucene.net/ <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>>> to address two issues I have. Briefly, the two
>>>>> issues I have are:
>>>>> 
>>>>> 1. First-chance exceptions are raised on every search, such as
>>>>> “IOException: read past eof” and “LookaheadSuccess: Error in the
>>>>> application” 2. On a brand new install of my app, the first attempt
>>>>> to search results in an exception: "System.IO.IOException: Invalid
>>>>> handle to path
>>>>> "/private/var/mobile/Containers/Bundle/Application/EDDBC7B3-E54E-46CC-BC51-0CDE18A066F4/my.app/[Unknown]””
>>>>> 
>>>>> 
>>>>> 
>>> My understanding is that later versions of Lucene.NET <http://lucene.net/> 
>>> <http://lucene.net/ <http://lucene.net/>>
>>> <http://lucene.net/ <http://lucene.net/> <http://lucene.net/ 
>>> <http://lucene.net/>>> have addressed #1. By upgrading I hope to also
>>> address #2, though even if I don’t I will be in a good position to look
>>> deeper into the matter.
>>>>> 
>>>>> As a starting point, I forked the Xamarin Lucene.NET <http://lucene.net/> 
>>>>> <http://lucene.net/ <http://lucene.net/>>
>>>>> <http://lucene.net/ <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>>> project, cloned Lucene.NET <http://lucene.net/> 
>>>>> <http://lucene.net/ <http://lucene.net/>>
>>>>> <http://lucene.net/ <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>>>, and wrote a little script to copy like-named
>>>>> files from the Lucene.NET <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>> <http://lucene.net/ <http://lucene.net/> 
>>>>> <http://lucene.net/ <http://lucene.net/>>> source to the
>>>>> Xamarin Lucene.NET <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>> <http://lucene.net/ <http://lucene.net/> 
>>>>> <http://lucene.net/ <http://lucene.net/>>> source. Catastrophe!
>>>>> 
>>>>> It became evident that there are a lot of files in the Lucene.NET 
>>>>> <http://lucene.net/> <http://lucene.net/ <http://lucene.net/>>
>>>>> <http://lucene.net/ <http://lucene.net/> <http://lucene.net/ 
>>>>> <http://lucene.net/>>> code base that aren’t even part of the main
>>>>> solution. I’m trying to understand why this is.
>>>>> 
>>>>> An example of such a file is StopwordAnalyzerBase.cs. It resides
>>>>> under src\Lucene.Net.Analysis.Common\Analysis\Util, so going by the
>>>>> readme it should be part of the core code base. However, it is not
>>>>> present in the solution.
>>>>> 
>>>>> Can anyone tell me why this is?
>>>>> 
>>>>> Thanks, Kent

Reply via email to