Я пытаюсь создать строку поиска, чтобы добавить свойство поиска панели просмотра. Мне нужно иметь возможность искать между двумя датами (от даты и до даты). Синтаксис, который работает, равен дате, например. (FIELD Form = "form") И (FIELD dateCompleted = 01.01.2012) работает нормально. Даты вводятся в 2 элемента управления вводом с помощью средства выбора даты или вводятся вручную. Если попытаться (FIELD Form ="Form") AND (FIELD dateCompleted => 01/01/2012) AND (FIELD dateCompleted ‹= 31/01/2012) выполнить поиск между двумя датами, я получаю сообщение об ошибке или поисковый возврат документы не найдены. Есть документы (dateCompleted — это поле даты/времени), поэтому должны возвращаться документы. Любая идея, каким должен быть правильный синтаксис?
Поиск FT в панели просмотра
Ответы (3)
Попробуй это:
(FIELD Form ="form") AND ((FIELD dateCompleted => 01/01/2012) AND (FIELD dateCompleted <= 31/01/2012))
С датами и числами иногда могут возникнуть проблемы с FT - в любом случае это полный "ТЕКСТ". В вашем случае попробуйте переключить месяц и день - 31.01.2012 - это может быть очень чувствительно в зависимости от различных настроек на уровне ОС и Domino.
Ваш синтаксис выглядит нормально (хотя =>, вероятно, должно быть >= ). Проблема с невозможностью поиска между датами может быть вызвана неправильным типом данных для поля dateCompleted в таблице UNK базы данных. В таблице UNK перечислены все поля в базе данных и их типы данных, и она используется при поиске FT. Если поле не определено как поле даты, полнотекстовый поиск «между датами» работать не будет. Насколько я знаю, первое вхождение поля создает запись в таблице UNK: поэтому, если это пустое поле, оно будет думать, что это текстовое поле.
Дополнительную информацию о таблице UNK можно прочитать здесь. IBM также предлагает инструмент для просмотра таблицы UNK. Таблица UNK воссоздается, если вы используете команду compact -c для базы данных.