Index: libstreamanalyzer/plugins/indexers/cluceneindexer/cluceneindexreader.cpp =================================================================== --- libstreamanalyzer/plugins/indexers/cluceneindexer/cluceneindexreader.cpp (revision 1200819) +++ libstreamanalyzer/plugins/indexers/cluceneindexer/cluceneindexreader.cpp (working copy) @@ -223,6 +223,7 @@ Term* CLuceneIndexReader::Private::createWildCardTerm(const wchar_t* name, const string& value) { + fprintf(stderr, "creating wildcardterm: %s\n", value.c_str()); wstring v = utf8toucs2(value); return _CLNEW Term(name, v.c_str()); } @@ -284,6 +285,7 @@ Query* CLuceneIndexReader::Private::createSingleFieldQuery(const string& field, const Strigi::Query& query) { + fprintf(stderr, "fieldName: %s\n", field.c_str()); wstring fieldname = mapId(field.c_str()); Query* q; Term* t; @@ -309,6 +311,13 @@ t = createKeywordTerm(fieldname.c_str(), query.term().string()); q = _CLNEW TermQuery(t); break; + case Strigi::Query::Contains: + t = createWildCardTerm(fieldname.c_str(), "*" + val + "*"); + q = _CLNEW WildcardQuery(t); + case Strigi::Query::StartsWith: + t = createWildCardTerm(fieldname.c_str(), val + "*"); + q = _CLNEW WildcardQuery(t); + case Strigi::Query::Equals: default: if (strpbrk(val.c_str(), "*?")) { t = createWildCardTerm(fieldname.c_str(), val);