Разница между KeywordQuery, типом FullTextQuerySearch для объектной модели и запросом веб-службы - PullRequest
1 голос
/ 01 июня 2010

Первоначально я полагал, что эти 3 делают более или менее одну и ту же вещь, только с другой системой обозначений. До недавнего времени, когда я заметил, что между ними существует большая разница между результатами KeyWordQuery / FullTextQuerySearch и веб-службы Query.

Я использовал метод KeywordQuery и метод FullText для поиска значения XYZ customColumn со значением (ASDSADA-21312ASD-ASDASD): -

Когда я запускаю этот запрос как: - FullTextSqlQuery: -

            FullTextSqlQuery myQuery = new FullTextSqlQuery(site);
            {
                // Construct query text
                String queryText = "Select title, path, author, isdocument from scope() where freetext('ASDSADA-21312ASD-ASDASD') ";

                myQuery.QueryText = queryText;
                myQuery.ResultTypes = ResultType.RelevantResults;
            };


            // execute the query and load the results into a datatable
            ResultTableCollection queryResults = myQuery.Execute();
            ResultTable resultTable = queryResults[ResultType.RelevantResults];

            // Load table with results
            DataTable queryDataTable = new DataTable();
            queryDataTable.Load(resultTable, LoadOption.OverwriteChanges);

Я получаю следующий результат, представляющий документ.

* Title: TestPDF 
* path: http://SharepointServer/Shared Documents/Forms/DispForm.aspx?ID=94 
* author: null 
* isDocument: false 

Запомните поля Path и isDocument в приведенном выше результате.

Метод веб-службы

Затем я попробовал метод запроса веб-службы. Я использовал инструмент службы поиска Sharepoint, доступный по номеру http://sharepointsearchserv.codeplex.com/, и выполнил тот же запрос, т. Е. Выберите заголовок, путь, автора, документ из области видимости () где свободный текст ('ASDSADA-21312ASD-ASDASD'). На этот раз я получил следующие результаты: -

* Title: TestPDF 
* path: http://SharepointServer/Shared Documents/TestPDF.pdf  
* author: null 
* isDocument: true 

Снова обратите внимание на путь. Хотя результаты поиска по 2-му методу полезны, поскольку они точно указывают мне путь к файлу, я не могу понять, почему метод 1 не дает мне те же результаты?

Почему существует расхождение между двумя результатами?

1 Ответ

0 голосов
/ 14 мая 2013

Первый элемент - это элемент списка, а не документ как таковой. Библиотека документов - это просто еще один список, специально созданный для хранения в нем документов. Элемент списка, скорее всего, содержит некоторые дополнительные метаданные, не содержащиеся в документе и т. Д. Вторым результатом является сам документ, поэтому для него будет установлен флаг isDocument.

По крайней мере, это моя теория.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...