2011-01-11 2 views
0

Установка:проблемы запросов с колонкой поиска в SharePoint

У меня есть два списка на сайте SharePoint, А и В. Список А имеет столбец «Ъ», что является поиском в поле идентификатора список Б. Я имеют 500k + записи в и около 6k записей в B.

Что работает:

Я могу выполнить запрос для элементов в списке а с помощью веб-служб SharePoint, и я даже в состоянии фильтровать запрос на основе конкретное значение «поиска» для столбца «b». Например, я могу запросить элементы в A, чей столбец b соответствует 1234 (... < Значение Тип = «Поиск»/Значение > ...) и так далее.

Что не работает:

Запрос не работает для элементов старше определенной даты, даже если мой запрос не включает в себя даты в любом случае - только столбец поиска. Любой запрос на данные, новее двух лет, отлично работает, ничего более старого, чем это не удается. Если я просматриваю элементы с веб-страницы SharePoint, они выглядят нормально, и все ссылки из дочерних записей в B в родительские записи в A работают просто отлично - столбцы поиска выглядят неповрежденными.

Вопрос:

Есть ли какие-то задачи обслуживания в SharePoint, которые могут вызвать некоторые исходные данные, чтобы получить повреждения, которые могут предотвратить запрос, основанный на перекодировки идентификатор, чтобы перестать работать, как система восстановления и т.д.? Другими словами, данные столбца поиска выглядят правильно на поверхности в веб-браузере. Но представляет ли SharePoint это значение с идентификатором GUID или другими невидимыми данными, которые могут быть не синхронизированы или устарели?

Спасибо.

+0

Начиная с этой проблемы эта проблема связана: http://blog.qumsieh.ca/2009/05/12/spquery-value-type-lookup-fails-on-indexed-columns/. – Dan

+0

Возможно, в тот день, когда я изменил этот столбец из неиндексированного индекса, это тот день, когда все пошло в ад. – Dan

ответ

1

Возможно, вы нанесли дополнительный лимит; максимальное количество элементов, полученных в запросе?

См list throttling

+0

Хорошо, или проверьте, имеет ли режим по умолчанию максимальное количество элементов/фильтр, примененный к нему ... – Colin

+0

Спасибо. Это имеет смысл, за исключением того факта, что каждый запрос возвращает только несколько элементов (менее 50). Идентификаторы строк, о которых идет речь, не являются магическими числами, равно как и дата - ни один аспект этого не волшебство. Мое единственное подозрение состояло в том, что восстановление системы пошло не так, как что-то привинчило. – Dan

0

Try обработки запросов по идентификатору, добавив =»TRUE» атрибут LookupId к вашему элементу FieldRef. http://abstractspaces.wordpress.com/2008/05/05/caml-query-lookup-field-by-id-not-by-value/

+0

Выполнение запросов для пунктов выше плохой даты отлично работает без LookupID, поэтому я знал, что это не обязательно. Но я все равно пытался - не повезло. Это все еще не сработало. Я пробовал запросить использование типов значений числа, текста и т. Д., Ничего не работает. – Dan

0

Проблема, похоже, связана с тем фактом, что указанная колонка была проиндексирована. Когда я удалил индекс, все начало работать. Когда я снова применил индекс, все продолжало работать. Я отношу эту проблему к коррумпированному индексу.

 Смежные вопросы

  • Нет связанных вопросов^_^