|
a/src/rcldb/stemdb.cpp |
|
b/src/rcldb/stemdb.cpp |
|
... |
|
... |
55 |
XapComputableSynFamMember expander(getdb(), synFamStem, *it, &stemmer);
|
55 |
XapComputableSynFamMember expander(getdb(), synFamStem, *it, &stemmer);
|
56 |
(void)expander.synExpand(term, result);
|
56 |
(void)expander.synExpand(term, result);
|
57 |
}
|
57 |
}
|
58 |
|
58 |
|
59 |
#ifndef RCL_INDEX_STRIPCHARS
|
59 |
#ifndef RCL_INDEX_STRIPCHARS
|
60 |
// Expand the unaccented stem
|
|
|
61 |
if (!o_index_stripchars) {
|
60 |
if (!o_index_stripchars) {
|
62 |
string unac;
|
61 |
string unac;
|
63 |
unacmaybefold(term, unac, "UTF-8", UNACOP_UNAC);
|
62 |
unacmaybefold(term, unac, "UTF-8", UNACOP_UNAC);
|
64 |
if (term != unac) {
|
63 |
// Expand the unaccented stem, using the unaccented stem
|
|
|
64 |
// db. Because it's a different db, We need to do it even if
|
|
|
65 |
// the input has no accent (unac == term)
|
65 |
for (vector<string>::const_iterator it = llangs.begin();
|
66 |
for (vector<string>::const_iterator it = llangs.begin();
|
66 |
it != llangs.end(); it++) {
|
67 |
it != llangs.end(); it++) {
|
67 |
SynTermTransStem stemmer(*it);
|
68 |
SynTermTransStem stemmer(*it);
|
68 |
XapComputableSynFamMember expander(getdb(), synFamStemUnac,
|
69 |
XapComputableSynFamMember expander(getdb(), synFamStemUnac,
|
69 |
*it, &stemmer);
|
70 |
*it, &stemmer);
|
70 |
(void)expander.synExpand(unac, result);
|
71 |
(void)expander.synExpand(unac, result);
|
71 |
}
|
|
|
72 |
}
|
72 |
}
|
73 |
}
|
73 |
}
|
74 |
#endif
|
74 |
#endif
|
75 |
|
75 |
|
76 |
if (result.empty())
|
76 |
if (result.empty())
|