All docs get containerfilename field, indexed exclusively with prefix (only a field search containerfilename:someterm can match).

This commit is contained in:
Jean-Francois Dockes 2014-07-23 19:30:41 +02:00
parent 19da7020d6
commit 368ebf2f86
3 changed files with 8 additions and 6 deletions

View File

@ -727,10 +727,9 @@ FsIndexer::processonefile(RclConfig *config,
if (doc.ipath.empty()) { if (doc.ipath.empty()) {
if (!doc.peekmeta(Rcl::Doc::keyfn, &fnp) || fnp->empty()) if (!doc.peekmeta(Rcl::Doc::keyfn, &fnp) || fnp->empty())
doc.meta[Rcl::Doc::keyfn] = utf8fn; doc.meta[Rcl::Doc::keyfn] = utf8fn;
} else {
// subdoc: set container file name
doc.meta[Rcl::Doc::keytcfn] = utf8fn;
} }
// Set container file name for all docs, top or subdoc
doc.meta[Rcl::Doc::keytcfn] = utf8fn;
char cbuf[100]; char cbuf[100];
sprintf(cbuf, "%lld", (long long)stp->st_size); sprintf(cbuf, "%lld", (long long)stp->st_size);
@ -815,7 +814,8 @@ FsIndexer::processonefile(RclConfig *config,
fileDoc.onlyxattr = true; fileDoc.onlyxattr = true;
} else { } else {
fileDoc.fmtime = ascdate; fileDoc.fmtime = ascdate;
fileDoc.meta[Rcl::Doc::keyfn] = utf8fn; fileDoc.meta[Rcl::Doc::keyfn] =
fileDoc.meta[Rcl::Doc::keytcfn] = utf8fn;
fileDoc.haschildren = true; fileDoc.haschildren = true;
fileDoc.mimetype = mimetype; fileDoc.mimetype = mimetype;
fileDoc.url = cstr_fileu + fn; fileDoc.url = cstr_fileu + fn;

View File

@ -30,7 +30,7 @@ namespace Rcl {
const string Doc::keyds("dbytes"); const string Doc::keyds("dbytes");
const string Doc::keyfmt("fmtime"); const string Doc::keyfmt("fmtime");
const string Doc::keyfn("filename"); const string Doc::keyfn("filename");
const string Doc::keytcfn("topcontainerfn"); const string Doc::keytcfn("containerfilename");
const string Doc::keyfs("fbytes"); const string Doc::keyfs("fbytes");
const string Doc::keyipt("ipath"); const string Doc::keyipt("ipath");
const string Doc::keykw("keywords"); const string Doc::keykw("keywords");

View File

@ -48,6 +48,7 @@ rclmd5 = XM
dir = XP dir = XP
abstract = XS abstract = XS
filename = XSFN filename = XSFN
containerfilename = XCFN ; pfxonly = 1
rclUnsplitFN = XSFS rclUnsplitFN = XSFS
xapyear = Y xapyear = Y
recipient = XTO recipient = XTO
@ -115,6 +116,7 @@ url = dc:identifier xesam:url
# (e.g. an HTML meta field) and index it. # (e.g. an HTML meta field) and index it.
[queryaliases] [queryaliases]
#filename = fn #filename = fn
#containerfilename = cfn
[xattrtofields] [xattrtofields]
###################### ######################