--- a/searcher/searchserver/src/ccpixsearch.cpp Wed Aug 18 10:53:26 2010 +0300
+++ b/searcher/searchserver/src/ccpixsearch.cpp Thu Sep 02 21:37:32 2010 +0300
@@ -45,7 +45,7 @@
}
CCPixSearch::CCPixSearch()
- : iQueryParserType(EIncrementalQueryParser),
+ : iQueryParserType(EPrefixQueryParser),
iPendingTask(EPendingTaskNone)
{
@@ -134,6 +134,8 @@
TBool CCPixSearch::SearchL(const TDesC& aSearchTerms, MCPixAsyncronizerObserver* aObserver, const RMessage2& aMessage)
{
+ _LIT16(KPlain,"$plain");
+ _LIT16(KPrefix,"$prefix");
OstTraceFunctionEntry0( CCPIXSEARCH_SEARCHL_ENTRY );
PERFORMANCE_LOG_START("CCPixSearch::SearchL");
@@ -149,6 +151,15 @@
TPtr searchTermsPtr = searchTerms->Des();
searchTermsPtr.Copy(aSearchTerms);
+ if(aSearchTerms.Find(KPlain) == 0 && iQueryParserType == EPrefixQueryParser )
+ {
+ SetQueryParserL(ECluceneQueryParser);
+ }
+ else if (aSearchTerms.Find(KPrefix) == 0 && iQueryParserType == ECluceneQueryParser )
+ {
+ SetQueryParserL(EPrefixQueryParser);
+ }
+
// Destroy previous query
cpix_Query_destroy( iQuery );
iQuery = NULL;
@@ -379,7 +390,7 @@
iQueryParser = NULL;
cpix_Result result;
- if ( iQueryParserType == EDatabaseQueryParser )
+ if ( iQueryParserType == ECluceneQueryParser )
{
iQueryParser =
cpix_QueryParser_create( &result,
@@ -387,7 +398,7 @@
iDefaultSearchFieldZ->Des().PtrZ()),
iAnalyzer );
}
- else if ( iQueryParserType == EIncrementalQueryParser )
+ else if ( iQueryParserType == EPrefixQueryParser )
{
iQueryParser =
cpix_CreatePrefixQueryParser( &result,