예제 #1
0
        public FullTextSqlQueryInstance(ScriptEngine engine, FullTextSqlQuery fullTextSqlQuery)
            : base(new QueryInstance(engine, fullTextSqlQuery), fullTextSqlQuery)
        {
            m_fullTextSqlQuery = fullTextSqlQuery;

            this.PopulateFunctions();
        }
예제 #2
0
        public static DataTable ExecuteQuery(string SiteCollection, string QueryString)
        {
            SPSite        col = new SPSite(SiteCollection);
            ServerContext ctx = ServerContext.GetContext(col);

            FullTextSqlQuery ftq = new FullTextSqlQuery(ctx);

            ftq.ResultTypes    = ResultType.RelevantResults;
            ftq.EnableStemming = true;
            ftq.TrimDuplicates = true;
            ftq.QueryText      = QueryString;

            ResultTableCollection allresults = ftq.Execute();

            ResultTable relevant = allresults[ResultType.RelevantResults];

            DataTable dt = null;

            if (relevant.RowCount > 0)
            {
                dt = new DataTable("Search Result");
                dt.Columns.Add("Title");
                dt.Columns.Add("URL");
                while (relevant.Read())
                {
                    DataRow row = dt.NewRow();
                    row[0] = relevant.GetString(0);
                    row[1] = relevant.GetString(1);
                    dt.Rows.Add(row);
                }
            }

            return(dt);
        }
예제 #3
0
        private static ResultTable RealizarBusqueda(string guid)
        {
            FullTextSqlQuery query            = new FullTextSqlQuery(new SPSite(urlBusqueda));
            ResultType       resultType       = ResultType.RelevantResults;
            string           strQuery         = String.Format("SELECT Title, Path, Fecha FROM SCOPE() WHERE (\"" + property + "\"='#{0}')", guid);
            FullTextSqlQuery fullTextSqlQuery = new FullTextSqlQuery(new SPSite(urlBusqueda));

            fullTextSqlQuery.QueryText      = strQuery;
            fullTextSqlQuery.ResultTypes    = resultType;
            fullTextSqlQuery.RowLimit       = 0;
            fullTextSqlQuery.TrimDuplicates = false;
            ResultTableCollection resultTableCollection = fullTextSqlQuery.Execute();
            ResultTable           resultTable           = resultTableCollection[resultType];

            return(resultTable);
        }
        public IEnumerable <IncidentTask> GetAllOpenIncidentTasks()
        {
            FullTextSqlQuery sqlQuery = new FullTextSqlQuery(ServerContext.Current);

            sqlQuery.QueryText   = Resources.PartnerRollupFullTextQuery;
            sqlQuery.ResultTypes = ResultType.RelevantResults;

            // Write the query to the trace log, so developers can debug it more easily.
            ILogger logger = SharePointServiceLocator.Current.GetInstance <ILogger>();

            logger.TraceToDeveloper(
                string.Format(CultureInfo.CurrentCulture,
                              Resources.IncidentTasksFullTextSqlQuery,
                              sqlQuery.QueryText));

            ResultTableCollection queryResults = sqlQuery.Execute();
            DataTable             resultsTable = new DataTable();

            resultsTable.Locale = CultureInfo.CurrentCulture;
            resultsTable.Load(queryResults[ResultType.RelevantResults]);

            List <IncidentTask> results = new List <IncidentTask>();

            foreach (DataRow datarow in resultsTable.Rows)
            {
                IncidentTask result = new IncidentTask();
                result.Path       = datarow[PathField] == DBNull.Value ? string.Empty : (string)datarow[PathField];
                result.Title      = datarow[TitleField] == DBNull.Value ? string.Empty : (string)datarow[TitleField];
                result.AssignedTo = datarow[AssignedToField] == DBNull.Value
                                        ? string.Empty
                                        : (string)datarow[AssignedToField];

                // For some reason, the the Status field is returned as an array of strings. The status can be accessed
                // using the index 0.
                result.Status   = datarow[StatusField] == DBNull.Value ? string.Empty : ((string[])datarow[StatusField])[0];
                result.Priority = datarow[PriorityField] == DBNull.Value ? string.Empty : (string)datarow[PriorityField];
                results.Add(result);
            }
            return(results);
        }
예제 #5
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            SPSite                 col       = new SPSite(txtSC.Text);
            ServerContext          ctx       = ServerContext.GetContext(col);
            DropDownHelper <Scope> dds       = (DropDownHelper <Scope>)cbScope.SelectedItem;
            string                 ScopeName = dds.Item.Name;

            string query = "Select title, url FROM Scope() where \"Scope\" = '" + ScopeName + "' AND Freetext('" + txtPhrase.Text + " ')";


            FullTextSqlQuery ftq = new FullTextSqlQuery(ctx);

            ftq.ResultTypes    = ResultType.RelevantResults;
            ftq.EnableStemming = true;
            ftq.TrimDuplicates = true;
            ftq.QueryText      = query;

            ResultTableCollection allresults = ftq.Execute();

            ResultTable relevant = allresults[ResultType.RelevantResults];

            DataTable dt = null;

            if (relevant.RowCount > 0)
            {
                dt = new DataTable("Search Result");
                dt.Columns.Add("Title");
                dt.Columns.Add("URL");
                while (relevant.Read())
                {
                    DataRow row = dt.NewRow();
                    row[0] = relevant.GetString(0);
                    row[1] = relevant.GetString(1);
                    dt.Rows.Add(row);
                }

                gvResult.DataSource = dt;
                gvResult.AutoResizeColumns();
            }
        }
예제 #6
0
 public FullTextSqlQueryInstance(ObjectInstance prototype, FullTextSqlQuery fullTextSqlQuery)
     : base(prototype, fullTextSqlQuery)
 {
     m_fullTextSqlQuery = fullTextSqlQuery;
 }