Pages

Thursday, October 28, 2010

Custom Enterprise Search Webpart in SharePoint 2007

Normally we use out of the Box SharePoint Search, but sometimes there is custom requirement in which we need to use Custom Search Webpart.
Here is a small portion of code to write for custom Enterprise Search Webpart.
Sample Code:

protected System.Web.UI.WebControls.DataGrid grdEntrerpriseSearchResults = new DataGrid();

protected override void CreateChildControls()
{
string strSearchQry;

using (SPSite site = new SPSite(SPContext.Current.Site.Url .ToString()))
            {
               strSearchQry = BuildFullTextSqlQuery(false);
Microsoft.Office.Server.Search.Query.FullTextSqlQuery qryFullText = new Microsoft.Office.Server.Search.Query.FullTextSqlQuery(site);
               qryFullText.QueryText = strSearchQry;
               qryFullText.ResultTypes = Microsoft.Office.Server.Search.Query.ResultType.RelevantResults;
               qryFullText.TrimDuplicates = true;
               qryFullText.EnableStemming = true;
               qryFullText.RowLimit = 50;
               qryFullText.Timeout = 120000;
               Microsoft.Office.Server.Search.Query.ResultTableCollection results = qryFullText.Execute();
               Microsoft.Office.Server.Search.Query.ResultTable relevantResults = results[Microsoft.Office.Server.Search.Query.ResultType.RelevantResults];
               DataTable resultsDataTable = new DataTable();
               resultsDataTable.Load(relevantResults, LoadOption.OverwriteChanges);
               grdEntrerpriseSearchResults.DataSource = resultsDataTable;
               grdEntrerpriseSearchResults.DataBind();

            }

            this.Controls.Add(grdEntrerpriseSearchResults);
        }

        private string BuildFullTextSqlQuery(bool bDocumentsOnly)
        {
            string sRetval = string.Empty;
            string sSelectQuery = "SELECT Title, Path, Size, HitHighlightedSummary FROM Scope() ";
            string sWhereQuery = string.Empty;

            sWhereQuery = " WHERE (\"SCOPE\" = 'SiteName') AND (IsDocument=1) ";

           if (bDocumentsOnly == true)
                 sWhereQuery = " WHERE IsDocument=1 AND (\"SCOPE\" = 'All')";
             else
                 sWhereQuery = " WHERE IsDocument=0 AND (\"SCOPE\" = 'All')";
      
            sWhereQuery += " AND FREETEXT(*, 'Keyword') ";
            string sOrderByQuery = "  ORDER BY Rank DESC ";
         
            if (bDocumentsOnly == false)
            {
                sWhereQuery += " AND ContentClass='STS_Web'";
            }

            sRetval = sSelectQuery + sWhereQuery + sOrderByQuery;
        
            sRetval = sSelectQuery + sWhereQuery + sOrderByQuery;
            return sRetval;
        }

Disha Shah

Free ebook: Moving to Microsoft Visual Studio 2010

Download Free Ebook - "Moving to Microsoft Visual Studio 2010"  from this location

http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx

Enojy
Disha Shah

Restricted Characters For SharePoint Environment

Restricted Characters For SharePoint Environment:
  • SharePoint sites can not include the following characters:
    \ / : * ? “ < > | # { } % & <TAB>.
  • The following characters cannot be used in the naming of files to be uploaded to SharePoint:
    “ # % & * : < > ? \ { } | ~ _
  • SharePoint file names cannot exceed 128 characters in length.
Disha