You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2012/02/11 18:05:03 UTC
[lucy-commits] svn commit: r1243099 - in /incubator/lucy/trunk: c/src/Lucy/Analysis/
core/Lucy/Analysis/ example-lang/src/Lucy/Analysis/ perl/
perl/xs/Lucy/Analysis/ ruby/src/Lucy/Analysis/
Author: nwellnhof
Date: Sat Feb 11 17:05:03 2012
New Revision: 1243099
URL: http://svn.apache.org/viewvc?rev=1243099&view=rev
Log:
Implement CaseFolder by means of Normalizer
This commit removes all code of CaseFolder specific to host languages and
reimplements the CaseFolder transform using a Lucy::Analysis::Normalizer for
backward compatibility.
The CaseFolder is now deprecated.
There are differences in the mapping of a few Unicode characters compared to
the old Perl implementation, so the changes are not 100% backward compatible.
Removed:
incubator/lucy/trunk/c/src/Lucy/Analysis/CaseFolder.c
incubator/lucy/trunk/example-lang/src/Lucy/Analysis/CaseFolder.c
incubator/lucy/trunk/perl/xs/Lucy/Analysis/CaseFolder.c
incubator/lucy/trunk/ruby/src/Lucy/Analysis/CaseFolder.c
Modified:
incubator/lucy/trunk/core/Lucy/Analysis/Analyzer.cfh
incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.c
incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.cfh
incubator/lucy/trunk/perl/MANIFEST
Modified: incubator/lucy/trunk/core/Lucy/Analysis/Analyzer.cfh
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Analysis/Analyzer.cfh?rev=1243099&r1=1243098&r2=1243099&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Analysis/Analyzer.cfh (original)
+++ incubator/lucy/trunk/core/Lucy/Analysis/Analyzer.cfh Sat Feb 11 17:05:03 2012
@@ -20,9 +20,9 @@ parcel Lucy;
*
* An Analyzer is a filter which processes text, transforming it from one form
* into another. For instance, an analyzer might break up a long text into
- * smaller pieces (L<RegexTokenizer|Lucy::Analysis::RegexTokenizer>), or it might
- * perform case folding to facilitate case-insensitive search
- * (L<CaseFolder|Lucy::Analysis::CaseFolder>).
+ * smaller pieces (L<RegexTokenizer|Lucy::Analysis::RegexTokenizer>), or it
+ * might perform case folding to facilitate case-insensitive search
+ * (L<Normalizer|Lucy::Analysis::Normalizer>).
*/
abstract class Lucy::Analysis::Analyzer
inherits Lucy::Object::Obj : dumpable {
Modified: incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.c?rev=1243099&r1=1243098&r2=1243099&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.c (original)
+++ incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.c Sat Feb 11 17:05:03 2012
@@ -18,7 +18,7 @@
#include "Lucy/Util/ToolSet.h"
#include "Lucy/Analysis/CaseFolder.h"
-#include "Lucy/Analysis/Token.h"
+#include "Lucy/Analysis/Normalizer.h"
#include "Lucy/Analysis/Inversion.h"
CaseFolder*
@@ -30,16 +30,26 @@ CaseFolder_new() {
CaseFolder*
CaseFolder_init(CaseFolder *self) {
Analyzer_init((Analyzer*)self);
- self->work_buf = BB_new(0);
+ self->normalizer = Normalizer_new(NULL, true, false);
return self;
}
void
CaseFolder_destroy(CaseFolder *self) {
- DECREF(self->work_buf);
+ DECREF(self->normalizer);
SUPER_DESTROY(self, CASEFOLDER);
}
+Inversion*
+CaseFolder_transform(CaseFolder *self, Inversion *inversion) {
+ return Normalizer_Transform(self->normalizer, inversion);
+}
+
+Inversion*
+CaseFolder_transform_text(CaseFolder *self, CharBuf *text) {
+ return Normalizer_Transform_Text(self->normalizer, text);
+}
+
bool_t
CaseFolder_equals(CaseFolder *self, Obj *other) {
CaseFolder *const twin = (CaseFolder*)other;
Modified: incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.cfh
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.cfh?rev=1243099&r1=1243098&r2=1243099&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.cfh (original)
+++ incubator/lucy/trunk/core/Lucy/Analysis/CaseFolder.cfh Sat Feb 11 17:05:03 2012
@@ -18,6 +18,9 @@ parcel Lucy;
/** Normalize case, facilitating case-insensitive search.
*
+ * CaseFolder is DEPRECATED. Use L<Normalizer|Lucy::Analysis::Normalizer>
+ * instead.
+ *
* CaseFolder normalizes text according to Unicode case-folding rules, so that
* searches will be case-insensitive.
*/
@@ -25,7 +28,7 @@ parcel Lucy;
class Lucy::Analysis::CaseFolder
inherits Lucy::Analysis::Analyzer : dumpable {
- ByteBuf *work_buf;
+ Normalizer *normalizer;
inert incremented CaseFolder*
new();
Modified: incubator/lucy/trunk/perl/MANIFEST
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/perl/MANIFEST?rev=1243099&r1=1243098&r2=1243099&view=diff
==============================================================================
--- incubator/lucy/trunk/perl/MANIFEST (original)
+++ incubator/lucy/trunk/perl/MANIFEST Sat Feb 11 17:05:03 2012
@@ -401,7 +401,6 @@ t/core/528-leaf_query.t
t/core/529-no_match_query.t
t/core/530-series_matcher.t
t/core/531-or_query.t
-xs/Lucy/Analysis/CaseFolder.c
xs/Lucy/Analysis/RegexTokenizer.c
xs/Lucy/Document/Doc.c
xs/Lucy/Index/DocReader.c