Sharepoint 2010 访问fulltextsqlquery中的自定义已爬网属性

Sharepoint 2010 访问fulltextsqlquery中的自定义已爬网属性,sharepoint-2010,microsoft-search-server,Sharepoint 2010,Microsoft Search Server,我的管理属性的名称类似于e/m/BioOffice/Text,e/m/BioPosition/Text。当我尝试执行以下代码时: string queryTxt = "SELECT URL, e/m/BioOffice/Text,e/m/BioPosition/Text FROM SCOPE() where \"scope\"='ektron25056203187' And FREETEXT(*,'" + TextBox1.Text.Trim() + "')";

我的管理属性的名称类似于
e/m/BioOffice/Text
e/m/BioPosition/Text
。当我尝试执行以下代码时:

 string queryTxt = "SELECT URL, e/m/BioOffice/Text,e/m/BioPosition/Text FROM SCOPE() where \"scope\"='ektron25056203187' And FREETEXT(*,'" + TextBox1.Text.Trim() + "')";


                var query = new FullTextSqlQuery(searchApplicationProxy)
                {   
                    QueryText = queryTxt,
                    ResultTypes = ResultType.RelevantResults,
                    ResultsProvider = SearchProvider.Default,
                    TrimDuplicates = false,
                    EnableStemming = true
                };

                ResultTableCollection resultsTableCollection = query.Execute();
                ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];                   
                DataTable resultsDataTable = new DataTable();
                resultsDataTable.TableName = "Results";
                resultsDataTable.Load(searchResultsTable, LoadOption.OverwriteChanges);

                Label1.Text = "Total results Count : " + resultsDataTable.Rows.Count;
它给了我一个例外:
您的查询格式不正确。请重新表述您的查询

请帮助我如何访问这些属性。

Hi gaurav在搜索服务工具中测试您的查询

SharePoint Search Service工具是一种富web服务客户端,允许开发人员探索给定SharePoint Search SSP的作用域和托管属性,以关键字或SQL语法生成查询,提交这些查询并检查原始web服务结果。此工具在SharePoint环境的行为和配置的故障排除和验证中非常有用

你可以在codeplex中使用该工具


由于托管属性名称中的正斜杠(“/”),搜索服务器将此解释为格式错误的查询。这些属性名称应该用双引号(“)括起来,以便搜索服务器的查询解析器逐字解释它们。(请注意表达式后面的WHERE子句中如何引用“scope”属性。)


我还发现您可能正在将Ektron网站与搜索服务器集成。我建议您使用Ektron搜索API,以确保您的查询格式正确。(参考:)

谢谢。但我仍然无法访问名为“e/m/BioOffice/Text”的托管属性“。在Sharepoint搜索服务工具中执行查询时,我遇到以下错误:错误\u错误\u查询您的查询格式不正确。请重新表述你的问题。查看此自定义属性
string queryTxt = "SELECT URL, \"e/m/BioOffice/Text\",\"e/m/BioPosition/Text\" FROM SCOPE() where \"scope\"='ektron25056203187' And FREETEXT(*,'" + TextBox1.Text.Trim() + "')";