--- a/src/query/wasatorcl.cpp
+++ b/src/query/wasatorcl.cpp
@@ -32,7 +32,9 @@
#include "refcntr.h"
#include "textsplit.h"
-static Rcl::SearchData *wasaQueryToRcl(RclConfig *config, WasaQuery *wasa,
+static Rcl::SearchData *wasaQueryToRcl(RclConfig *config,
+ const string& stemlang,
+ WasaQuery *wasa,
const string& autosuffs, string& reason)
{
if (wasa == 0) {
@@ -47,7 +49,7 @@
Rcl::SearchData *sdata = new
Rcl::SearchData(wasa->m_op == WasaQuery::OP_AND ? Rcl::SCLT_AND :
- Rcl::SCLT_OR);
+ Rcl::SCLT_OR, stemlang);
LOGDEB2(("wasaQueryToRcl: %s chain\n", wasa->m_op == WasaQuery::OP_AND ?
"AND" : "OR"));
@@ -167,6 +169,7 @@
// "Regular" processing follows:
unsigned int mods = (unsigned int)(*it)->m_modifiers;
+ LOGDEB0(("wasaQueryToRcl: clause modifiers 0x%x\n", mods));
nclause = 0;
switch ((*it)->m_op) {
@@ -178,7 +181,7 @@
continue;
case WasaQuery::OP_LEAF: {
- LOGDEB(("wasaQueryToRcl: leaf clause [%s]:[%s] slack %d\n",
+ LOGDEB0(("wasaQueryToRcl: leaf clause [%s]:[%s] slack %d\n",
(*it)->m_fieldspec.c_str(), (*it)->m_value.c_str(),
(*it)->m_slack));
@@ -250,7 +253,7 @@
(*it)->m_fieldspec.c_str(), (*it)->m_value.c_str()));
// Create a subquery.
Rcl::SearchData *sub =
- wasaQueryToRcl(config, *it, autosuffs, reason);
+ wasaQueryToRcl(config, stemlang, *it, autosuffs, reason);
if (sub == 0) {
continue;
}
@@ -278,7 +281,7 @@
return sdata;
}
-Rcl::SearchData *wasaStringToRcl(RclConfig *config,
+Rcl::SearchData *wasaStringToRcl(RclConfig *config, const string& stemlang,
const string &qs, string &reason,
const string& autosuffs)
{
@@ -286,5 +289,5 @@
WasaQuery *wq = parser.stringToQuery(qs, reason);
if (wq == 0)
return 0;
- return wasaQueryToRcl(config, wq, autosuffs, reason);
+ return wasaQueryToRcl(config, stemlang, wq, autosuffs, reason);
}