проблемка с Notesdatabase.ftsearch

Тема в разделе "Lotus - Программирование", создана пользователем Sandr, 6 ноя 2007.

Статус темы:
Закрыта.
  1. Sandr

    Sandr Гость

    При реализации поиска для одной базки, наткнулся на одну проблемку. Не работает поиск по диапазону дат в который1 попадает значение одного поля типа "дата". FTSearch воспринимает поле как текстовое и не дает использовать операции сравнения “>”, “<”, “<=” и “>=”.

    Прибить индекс и создать его заново не помогает. Может, уже кто-то сталкивался с подобной проблемой и знает, как легко её обойти…

    Я знаю один способ, но мне он не очень подходит... грубо говоря не подходит совсем...
     
  2. Mihal

    Mihal Гость

    Уси-пуси :). Как бальзам на душу!:D Проблемки у конкурентов! Мелочь, а приятно! :p

    Удостоверся что нигде в формах нету поля с таким же именем, но текстовым. А вдруг?

    P.S. и выдай текст запроса который ты пытаешься впихануть.
     
  3. Sandr

    Sandr Гость

    Мишань, проблема именно в том, что пока поле пустое - оно текстовое... а када индекс формируется первый раз, он же ж не смотрит все документы.. он нашел первый попавшийся, посмотрел, шо поле текстовое (пустое патамуша) и зафигачил в свою таблицу тот факт, шо оно текстовое... А как эту заразу переубедить - ХЗ... Есть способ - создать реплику и индекс для неё, авось в ней полу будет уже датой... А потом подменить базку репликой - но способ настока брутальный, шо даже не хочу это делать... Ищу способы покрасивей.. А ты, вместо того, шоб радоватся проблемкой у конкурентов (кстати не у них проблемка.. а у меня :)) - помог бы коллеге...

    запрос до безобразия простой...

    ( [Form]= "Form1") & ([Date1] >= 27.09.2007) & ([Date1] <= 28.09.2007)
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Sandr+6:11:2007, 13:43 -->
    <span class="vbquote">(Sandr @ 6:11:2007, 13:43 )</span><!--QuoteEBegin-->(пустое патамуша)
    [snapback]84413" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    па рукам за такое )
     
  5. Sandr

    Sandr Гость

    за какое? Так а шо делать, если оно и должно быть пустым, пока его не завполнят... Оно не обязательно на определенных стадиях...
     
  6. Mihal

    Mihal Гость

    Заполнять @now али @today. И флажок рядышком завести. Флажок взведён - значит на дату нада обращать внимание, флажок опущен - значит на дату забить.
     
  7. Sandr

    Sandr Гость

    Клиент, к сожалению, не поймет причины такого неудобства в интерфейсе...
     
  8. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Значит далать второ поле которое будет отобрадаться - а то по которому будт искать - будет скрытым и т.д.
     
  9. Sandr

    Sandr Гость

    Если бы база писалась с нуля, то так и сделал бы.. но ведь она уже существует... :)
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Sandr
    а что шаблонов нима?
     
  11. Sandr

    Sandr Гость

    Причем тут шаблоны? Предлагаете создать новую БД? База уже в работе, коиент пользуется - как исправить?
     
  12. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Зачем создавать новую БД ... разве у Вас шаблонов по которм создавались БД не осталося?
    прописать просто поле которое надо для поиска -скрытым(Поле1) , а новое поле зделать видимым(Поле2)

    Поле 1 = если поле1 и поле2 пусто будет принимать значение 1900/01/01.
    ну соответсвено поле2 = пусто( если поле1 - 1900/01/01 ), либо равно поле1

    ну чтото в этом роде
     
  13. Sandr

    Sandr Гость

    Да поймите, не в этом проблема, а проблема в том, что в существующей базе этим проблему не решишь... Проблема возникла при ПЕРВОМ создании индекса... Поменять поля - это тоже самое, что махать кулаками после боя...

    ЗЫ: По-вашему, я что, не в состоянии поля сделать? :)
     
  14. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    ну тады звыняйте, о любые пустые поля будут восприниматься как текстовые пустышки

    по этому я и не пользуюсь FTSearch - это зло
     
  15. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Убить индекс; Натравить на неё агентец такого толка:
    Код (Text):
    SELECT @Elements(поле)=0;
    FIELD поле:=@DeleteField
    Создать индекс
     
  16. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    я тоже склоняюсь к агентику который или убивает поля или заполняет их дефаултными значениями
     
  17. Sandr

    Sandr Гость

    так.. как я понял, никто не понял основной сути проблемы...

    Ну что толку от этого всего? Как это повлияет на определения типа поля в индексе? Он ведь определяется при ПЕРВОМ построении индекса... Даже если прибить все, индекс и все документы в БД, а потом создать один документ с заполенным полем даты и заново создать индекс - проблема останется... :D

    Единственный выход - создать реплику существующей базы, проследить корректность заполенныз полей в ней, создать индекс и подменить базу этой репликой...
     
  18. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Это вы ничего не поняли.

    Если ваша база настолько крива, что одноименное поле в разных док-тах содержит где текст, а где дату, то толку никакого, поиск по этому полю невозможен.

    Если в вашей базе данное поле ТОЛЬКО датовского типа ЛИБО пустое, то агентик поможет, поиск будет работать.
     
  19. IsAvailable

    IsAvailable Гость

    Для: Sandr
    После отработки агента индекс пересоздать...
    Или база недосягаема? Тогда как вообще о каких-то изменениях говорить? =\
     
  20. Sandr

    Sandr Гость

    Ну что толку? База не кривая.. все поля типа Дата или пустые. Тип поля в индексе определен как текст, а определяется он при ПЕРВОМ создании индекса... Он криво создался в первый раз - все его не переубедить, что поле не текстовое... Прибить индек и создать его заново - результата не дает... Я же говорил это выше... Помогает тока если создать реплику, создать в ней индекс, а птом подсунуть реплику вместо базы...
     
Загрузка...
Похожие Темы - проблемка Notesdatabase ftsearch
  1. Tarik
    Ответов:
    3
    Просмотров:
    564
  2. Antiseptik
    Ответов:
    3
    Просмотров:
    896
  3. Wolfises
    Ответов:
    2
    Просмотров:
    2.101
  4. Sangitam
    Ответов:
    4
    Просмотров:
    3.309
  5. kaskad755
    Ответов:
    4
    Просмотров:
    2.466
Статус темы:
Закрыта.

Поделиться этой страницей