|
a/src/rcldb/expansiondbs.cpp |
|
b/src/rcldb/expansiondbs.cpp |
|
... |
|
... |
79 |
#endif
|
79 |
#endif
|
80 |
|
80 |
|
81 |
// Walk the list of all terms, and stem/unac each.
|
81 |
// Walk the list of all terms, and stem/unac each.
|
82 |
string ermsg;
|
82 |
string ermsg;
|
83 |
try {
|
83 |
try {
|
84 |
for (Xapian::TermIterator it = wdb.allterms_begin();
|
84 |
Xapian::TermIterator it = wdb.allterms_begin();
|
|
|
85 |
// We'd want to skip to the first non-prefixed term, but this is a bit
|
|
|
86 |
// complicated, so we just jump over most of the prefixed term and then
|
|
|
87 |
// skip the rest one by one.
|
|
|
88 |
it.skip_to(wrap_prefix("Z"));
|
85 |
it != wdb.allterms_end(); it++) {
|
89 |
for ( ;it != wdb.allterms_end(); it++) {
|
|
|
90 |
if (has_prefix(*it))
|
|
|
91 |
continue;
|
86 |
|
92 |
|
87 |
// Detect and skip CJK terms.
|
93 |
// Detect and skip CJK terms.
|
88 |
Utf8Iter utfit(*it);
|
94 |
Utf8Iter utfit(*it);
|
89 |
if (TextSplit::isCJK(*utfit)) {
|
95 |
if (TextSplit::isCJK(*utfit)) {
|
90 |
// LOGDEB(("stemskipped: Skipping CJK\n"));
|
96 |
// LOGDEB(("stemskipped: Skipping CJK\n"));
|