|
a/src/rcldb/searchdata.cpp |
|
b/src/rcldb/searchdata.cpp |
|
... |
|
... |
570 |
// noexpansion can be modified further down by possible case/diac expansion
|
570 |
// noexpansion can be modified further down by possible case/diac expansion
|
571 |
bool noexpansion = nostemexp && !haswild;
|
571 |
bool noexpansion = nostemexp && !haswild;
|
572 |
|
572 |
|
573 |
int termmatchsens = 0;
|
573 |
int termmatchsens = 0;
|
574 |
|
574 |
|
575 |
#ifndef RCL_INDEX_STRIPCHARS
|
|
|
576 |
bool diac_sensitive = (mods & SDCM_DIACSENS) != 0;
|
575 |
bool diac_sensitive = (mods & SDCM_DIACSENS) != 0;
|
577 |
bool case_sensitive = (mods & SDCM_CASESENS) != 0;
|
576 |
bool case_sensitive = (mods & SDCM_CASESENS) != 0;
|
578 |
|
577 |
|
579 |
if (o_index_stripchars) {
|
578 |
if (o_index_stripchars) {
|
580 |
diac_sensitive = case_sensitive = false;
|
579 |
diac_sensitive = case_sensitive = false;
|
|
... |
|
... |
614 |
|
613 |
|
615 |
if (case_sensitive)
|
614 |
if (case_sensitive)
|
616 |
termmatchsens |= Db::ET_CASESENS;
|
615 |
termmatchsens |= Db::ET_CASESENS;
|
617 |
if (diac_sensitive)
|
616 |
if (diac_sensitive)
|
618 |
termmatchsens |= Db::ET_DIACSENS;
|
617 |
termmatchsens |= Db::ET_DIACSENS;
|
619 |
#endif
|
|
|
620 |
|
618 |
|
621 |
if (noexpansion) {
|
619 |
if (noexpansion) {
|
622 |
oexp.push_back(prefix + term);
|
620 |
oexp.push_back(prefix + term);
|
623 |
m_hldata.terms[term] = m_hldata.uterms.size() - 1;
|
621 |
m_hldata.terms[term] = m_hldata.uterms.size() - 1;
|
624 |
LOGDEB(("ExpandTerm: noexpansion: final: %s\n", stringsToString(oexp).c_str()));
|
622 |
LOGDEB(("ExpandTerm: noexpansion: final: %s\n", stringsToString(oexp).c_str()));
|
|
... |
|
... |
934 |
TermProc *nxt = &tpq;
|
932 |
TermProc *nxt = &tpq;
|
935 |
TermProcStop tpstop(nxt, stops); nxt = &tpstop;
|
933 |
TermProcStop tpstop(nxt, stops); nxt = &tpstop;
|
936 |
//TermProcCommongrams tpcommon(nxt, stops); nxt = &tpcommon;
|
934 |
//TermProcCommongrams tpcommon(nxt, stops); nxt = &tpcommon;
|
937 |
//tpcommon.onlygrams(true);
|
935 |
//tpcommon.onlygrams(true);
|
938 |
TermProcPrep tpprep(nxt);
|
936 |
TermProcPrep tpprep(nxt);
|
939 |
#ifndef RCL_INDEX_STRIPCHARS
|
|
|
940 |
if (o_index_stripchars)
|
937 |
if (o_index_stripchars)
|
941 |
#endif
|
|
|
942 |
nxt = &tpprep;
|
938 |
nxt = &tpprep;
|
943 |
|
939 |
|
944 |
TextSplitQ splitter(TextSplit::Flags(TextSplit::TXTS_ONLYSPANS |
|
940 |
TextSplitQ splitter(TextSplit::Flags(TextSplit::TXTS_ONLYSPANS |
|
945 |
TextSplit::TXTS_KEEPWILD),
|
941 |
TextSplit::TXTS_KEEPWILD),
|
946 |
stops, nxt);
|
942 |
stops, nxt);
|