SP2010 FullTetSqlQuery 无结果,适用于 SP2007

发布于 2024-10-06 23:42:55 字数 1572 浏览 0 评论 0原文

此代码在 SP 2007 的 WCF 服务中有效。在 SP2010 的新服务器中,此代码不起作用。不知道代码是否需要更改,或者配置是否有不同,

这段代码是否错误?我还需要做其他配置吗?搜索服务已启动。

StringBuilder queryText = new StringBuilder();
                queryText.Append("SELECT PreferredName ");
                queryText.Append("FROM SCOPE() ");
                queryText.Append("WHERE \"scope\" = 'People' ");

                Microsoft.Office.Server.Search.Query.FullTextSqlQuery query = new Microsoft.Office.Server.Search.Query.FullTextSqlQuery(SPContext.Current.Site);
                query.QueryText = queryText.ToString();
                query.ResultTypes = Microsoft.Office.Server.Search.Query.ResultType.RelevantResults;
                query.RowLimit = 50;

                Microsoft.Office.Server.Search.Query.ResultTableCollection results = query.Execute();
                if ((int)ResultType.RelevantResults != 0 && results.Exists(ResultType.RelevantResults))
                {
                    ResultTable tblResult = results[ResultType.RelevantResults];
                    DataTable relResultsTbl = new DataTable();
                    relResultsTbl.TableName = "Relevant Results";
                    DataSet ds = new DataSet("resultsset");
                    ds.Tables.Add(relResultsTbl);
                    ds.Load(tblResult, LoadOption.OverwriteChanges, relResultsTbl);

                    foreach (DataRow dataRow in ds.Tables[0].Rows)
                    {
                        accountNamesFromSearch.Add(dataRow["AccountName"] as string);
                    }
                }

This code worked in our WCF service with SP 2007. In our new server on SP2010 this doesn't work. I do not know if the code needs to change or if there's something different about the configuration

Is this code wrong? Are there other configuration things I need to do? Search service is started.

StringBuilder queryText = new StringBuilder();
                queryText.Append("SELECT PreferredName ");
                queryText.Append("FROM SCOPE() ");
                queryText.Append("WHERE \"scope\" = 'People' ");

                Microsoft.Office.Server.Search.Query.FullTextSqlQuery query = new Microsoft.Office.Server.Search.Query.FullTextSqlQuery(SPContext.Current.Site);
                query.QueryText = queryText.ToString();
                query.ResultTypes = Microsoft.Office.Server.Search.Query.ResultType.RelevantResults;
                query.RowLimit = 50;

                Microsoft.Office.Server.Search.Query.ResultTableCollection results = query.Execute();
                if ((int)ResultType.RelevantResults != 0 && results.Exists(ResultType.RelevantResults))
                {
                    ResultTable tblResult = results[ResultType.RelevantResults];
                    DataTable relResultsTbl = new DataTable();
                    relResultsTbl.TableName = "Relevant Results";
                    DataSet ds = new DataSet("resultsset");
                    ds.Tables.Add(relResultsTbl);
                    ds.Load(tblResult, LoadOption.OverwriteChanges, relResultsTbl);

                    foreach (DataRow dataRow in ds.Tables[0].Rows)
                    {
                        accountNamesFromSearch.Add(dataRow["AccountName"] as string);
                    }
                }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃素的狼 2024-10-13 23:42:55

快速查看是否可以在这个 MOSS 搜索工具中获得所需的结果,这是调试此类情况的好方法,而不是打破我们的头脑。

Quickly See if you can get the desired result in this MOSS Search tool good way to debug these kind of cases, rather than breaking our heads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文