Hi
We are using IFS 1.1 version on HP UX. Large number of XMl documents are
loaded into IFS ( around 5.5 gb of table space occupied).
Our req. is , given a file name , we need to lookup for the same in IFS
repository and load it if exists. Search is based on file name ( attribute
search) not file contents ( content search) .
The following is the function we have wriiten to search
public String ifsDocSearch(String name, String path, String owner)throws
Exception
{
FolderRestrictQualification frq = new FolderRestrictQualification();
FolderPathResolver fpr = new FolderPathResolver(ifsSession);
fpr.setRootFolder();
Folder startFolder = (Folder) fpr.findPublicObjectByPath(path);
frq.setStartFolder(startFolder);
AttributeQualification aq = new AttributeQualification();
aq.setAttribute(oracle.ifs.beans.Document.CLASS_NAME,"NAME");
aq.setOperatorType(aq.EQUAL);
aq.setValue(name);
AttributeQualification aq1 = new AttributeQualification();
aq1.setAttribute(oracle.ifs.beans.Document.OWNER_ATTRIBUTE,oracle.ifs.beans.
Document.OWNER_ATTRIBUTE);
aq1.setOperatorType(aq.EQUAL);
aq1.setValue(owner);
String arr[]= new String[2];
arr[0]="DOCUMENT";
arr[1]="FOLDER";
SearchClassSpecification scs=new SearchClassSpecification(arr);
AttributeSearchSpecification ass = new AttributeSearchSpecification();
ass.setSearchClassSpecification(scs);
SearchClause sc = new SearchClause(aq, frq, SearchClause.AND);
SearchClause sc1 = new SearchClause(sc, aq1, SearchClause.AND);
ass.setSearchQualification(sc);
Search s = new Search(this.ifsSession,ass);
s.setSearchSpecification(ass);
s.open();
SearchResultObject sro=s.getItems(0);
if(sro==null)
{
System.out.println("sro is null");
return null;
}
oracle.ifs.beans.Document myDoc = (oracle.ifs.beans.Document)
sro.getLibraryObject();
if(myDoc == null)
{
System.out.println("my doc is null");
return null;
}
vxweb.vxhelper.VxDebug.timer("File IO");
StringBuffer sb = new StringBuffer();
BufferedReader bufferedReader =
new BufferedReader(myDoc.getContentReader());
for (String l_nextLine = bufferedReader.readLine();
l_nextLine != null;
l_nextLine = bufferedReader.readLine()) {
sb.append(l_nextLine);
sb.append("\n");
}
vxweb.vxhelper.VxDebug.timer("File IO");
System.out.println(sb);
return sb.toString();
}
The search seems to be slower. it takes around 2-4 sec. -
Is there any way this can be tuned better for faster searching?
do we need to create any indexes file names in IFS schema ?
Other Info : processing mode :MTS
table space for ifs : localymanaged
Thanks in Advance
Raj
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Raj Gopalan
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).