|
a/src/rcldb/synfamily.cpp |
|
b/src/rcldb/synfamily.cpp |
|
... |
|
... |
201 |
inexp->setExp(m_prefix + (*m_trans)(inexp->exp()));
|
201 |
inexp->setExp(m_prefix + (*m_trans)(inexp->exp()));
|
202 |
// Find the initial section before any special chars for skipping the keys
|
202 |
// Find the initial section before any special chars for skipping the keys
|
203 |
string::size_type es = inexp->baseprefixlen();
|
203 |
string::size_type es = inexp->baseprefixlen();
|
204 |
string is = inexp->exp().substr(0, es);
|
204 |
string is = inexp->exp().substr(0, es);
|
205 |
string::size_type preflen = m_prefix.size();
|
205 |
string::size_type preflen = m_prefix.size();
|
206 |
LOGDEB2(("XapCompSynFam::is: [%s]\n", is.c_str()));
|
206 |
LOGDEB2(("XapCompSynFam::synKeyExpand: init section: [%s]\n", is.c_str()));
|
207 |
|
207 |
|
208 |
string ermsg;
|
208 |
string ermsg;
|
209 |
try {
|
209 |
try {
|
210 |
for (Xapian::TermIterator xit = m_family.getdb().synonym_keys_begin(is);
|
210 |
for (Xapian::TermIterator xit = m_family.getdb().synonym_keys_begin(is);
|
211 |
xit != m_family.getdb().synonym_keys_end(is); xit++) {
|
211 |
xit != m_family.getdb().synonym_keys_end(is); xit++) {
|
|
... |
|
... |
244 |
LOGDEB2(("XapCompSynFam::keyWildExpand: [%s]\n", term.c_str()));
|
244 |
LOGDEB2(("XapCompSynFam::keyWildExpand: [%s]\n", term.c_str()));
|
245 |
result.push_back(term);
|
245 |
result.push_back(term);
|
246 |
}
|
246 |
}
|
247 |
} XCATCHERROR(ermsg);
|
247 |
} XCATCHERROR(ermsg);
|
248 |
if (!ermsg.empty()) {
|
248 |
if (!ermsg.empty()) {
|
249 |
LOGERR(("XapCompSynFam::keyWildExpand: xapian: [%s]\n", ermsg.c_str()));
|
249 |
LOGERR(("XapCompSynFam::synKeyExpand: xapian: [%s]\n", ermsg.c_str()));
|
250 |
return false;
|
250 |
return false;
|
251 |
}
|
251 |
}
|
|
|
252 |
LOGDEB1(("XapCompSynFam::synKeyExpand: final: [%s]\n",
|
|
|
253 |
stringsToString(result).c_str()));
|
252 |
return true;
|
254 |
return true;
|
253 |
}
|
255 |
}
|
254 |
|
256 |
|
255 |
|
257 |
|
256 |
} // Namespace Rcl
|
258 |
} // Namespace Rcl
|