using System;
using System.Collections;
using Plumtree.Remote.PRC;
using Plumtree.Remote.PRC.Search;
namespace SimpleSearch
{
///
/// Summary description for Class1.
///
class Search
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
if (args.Length < 4)
{
Console.Write("usage: SimpleSearch: soapendpoint username password querystring\n" +
"For example: http://IP-GW-AS08:9080/ptapi/services/QueryInterfaceAPI Administrator plumtree *.doc");
return;
}
try
{
String url = args[0];
String username = args[1];
String password = args[2];
IRemoteSession session =
RemoteSessionFactory.GetExplicitLoginContext(
new System.Uri(url),
username,
password);
ISearchFactory searchFactory = session.GetSearchFactory();
IPortalSearchRequest searchRequest = searchFactory.CreatePortalSearchRequest();
searchRequest.SetQuery(args[3]);
searchRequest.SetResultsCount(0, 10);
ISearchResponse searchResponse = searchRequest.Execute();
//get information about the number of results returned
Console.Write("Total matches is " + searchResponse.GetTotalCount());
Console.Write("First result is " + searchResponse.GetFirstResultIndex());
Console.Write("Number returned is " + searchResponse.GetReturnedCount());
//iterate through the results
ISearchResultSet resultSet = searchResponse.GetResultSet();
IEnumerator results = resultSet.GetResults();
while (results.MoveNext())
{
Console.Write("--------------------------------------------------");
IPortalSearchResult result = (IPortalSearchResult) results.Current;
Console.Write("name is " + result.GetName());
Console.Write("class id is " + result.GetClassID());
Console.Write("created is " + result.GetCreated());
Console.Write("excerpt is " + result.GetExcerpt());
Console.Write("last modified is " + result.GetLastModified());
Console.Write("object id is " + result.GetObjectID());
Console.Write("url is " + result.GetURL());
Console.Write("icon url is " + result.GetIconURL());
Console.Write("rank is " + result.GetRank());
}
}
catch (Exception e)
{
Console.Write("Exception occured");
Console.Write(e.Message);
Console.Write(e.StackTrace);
}
}
}
}