On Thu, 8 Dec 2011, Robert Muir wrote:
On Wed, Dec 7, 2011 at 8:22 PM, Andi Vajda <va...@apache.org> wrote:
JavaError: java.lang.UnsupportedOperationException: This JRE does not have
support for Thai segmentation
Java stacktrace:
java.lang.UnsupportedOperationException: This JRE does not have support for
Thai segmentation
at
org.apache.lucene.analysis.th.ThaiWordFilter.<init>(ThaiWordFilter.java:85)
at
org.apache.lucene.analysis.th.ThaiAnalyzer.createComponents(ThaiAnalyzer.java:64)
at
org.apache.lucene.analysis.ReusableAnalyzerBase.tokenStream(ReusableAnalyzerBase.java:92)
That's a Java error. Your JVM doesn't do Thai. I didn't know this was possible.
A patch to silence this could be written and is welcome. Not a new issue and
not a release stopper, imho.
Hi Andi, I added this check (i think a few releases back) when I found
out some JVMs such as IBM's don't return a real thai-wordbreaker for
"th" Locale.
It could also be that even a Sun/Oracle JRE doesn't have support for
this (if its not the "international" version).
http://www.oracle.com/technetwork/java/javase/locales-137662.html
There is a public boolean constant available if you want to inspect
that its working: ThaiWordFilter.DBBI_AVAILABLE:
/**
* True if the JRE supports a working dictionary-based breakiterator for Thai.
* If this is false, this filter will not work at all!
*/
public static final boolean DBBI_AVAILABLE;
In our unit tests for Thai we don't fail the test if this is false:
assumeTrue("JRE does not support Thai dictionary-based
BreakIterator", ThaiWordFilter.DBBI_AVAILABLE);
(though now that you brought it up, i see i missed adding this assume
to one of our tests... thanks)
Thank you, Robert, this check is easy enough to add to the test.
Done in rev 1212171 !
Andi..