Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Полнотекстовый поиск в 1с77


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1   pak

pak

      Генерал-майор

    • Модераторы
    • Сообщений: 340
    • Регистрация: 02-February 09
    • Откуда:Солнечный Крым

Отправлено 29 December 2010 - 16:57

Здравствуйте меня зовут Кирилл pak, хочу чтоб вы мне написали базу. Суть такова:

Есть справочник, у справочника есть реквизиты, их около десятка. Некоторые из них текстовые.
Необходимо обеспечить поиск в справочнике по совокупности значений атрибутов. Причем для текстовых полей нужно сделать так, чтобы указав в строке поиска:"Иван иваныч+РН322223" , в результате получить все элементы справочника у которых, например в поле "Комментарий" встречаются слова "Иван иваныч"и "РН322223".
Короче полнотекстовый поиск.
Ах да, еще хотелось чтоб поиск выполнялся за разумное время, то бишь полный перебор -- не вариант.
База, кстати дбф-ная.

Навскидку решения придумать не могу.
Все какие-то сложные варианты в голову приходят.

Можно при записи элемента справочника, разбивать текстовые поля на слова-токены, писать их в какие нибудь таблицы, потом по ним строить индексы. но это громоздко и несколько выходит за рамки 1с.

С другой стороны будь у меня таблицы в каком-нить SQLITE написал бы

Code

SELECT * FROM справ
WHERE коммент LIKE '%Иван%Иванович%РН%'

и горя б не знал.

Может есть методы доступа к дбф базе с помощью SQL запросов? Какие-нибудь Адо или ОЛЕДБ провайдеры, и методы доступа к ним из 1с?

Вобщем если есть дельные мысли или полезные ссылки - буду благодарен.

PS: корованы грабить ненужно, но если очень хочется, то можно.

  • 0

#2   Zaval

Zaval

      Генерал-полковник

    • Пользователи
    • PipPipPipPipPipPipPipPipPip
    • Сообщений: 1109
    • Регистрация: 26-December 07
    • Откуда: , ,

Отправлено 29 December 2010 - 17:25

Навскидку - так(И) умеет искать обработка Ючойс(Uchoice - ?) с диска ИТС.
  • 0
Киев

#3   pak

pak

      Генерал-майор

    • Модераторы
    • Сообщений: 340
    • Регистрация: 02-February 09
    • Откуда:Солнечный Крым

Отправлено 29 December 2010 - 17:40

Там не совсем то.
Там полный перебор и поиск по вхождению строки.
Мне нужен поиск по маске, типа "*иванов*РН*", где * - любое количество,любых символов.
Причем порядок слов мне не важен.
  • 0

#4   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 30 December 2010 - 14:39

pak,
Quote
С другой стороны будь у меня таблицы в каком-нить SQLITE написал бы

что тебе мешает использовать SQLITE??
  • 0

#5   pak

pak

      Генерал-майор

    • Модераторы
    • Сообщений: 340
    • Регистрация: 02-February 09
    • Откуда:Солнечный Крым

Отправлено 30 December 2010 - 16:17

Quote (Kazimar)
что тебе мешает использовать SQLITE??

Отсутствие необходимых знаний, но я в процессе гуглежа.
После НГ опубликую результаты предварительных тестов.
  • 0

#6   Kazimar

Kazimar

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 136
    • Регистрация: 04-February 09
    • Откуда: , ,

Отправлено 30 December 2010 - 17:37

http://www.1cpp.ru/f...?num=1214205575
Читай, здесь все есть
  • 0

#7   pak

pak

      Генерал-майор

    • Модераторы
    • Сообщений: 340
    • Регистрация: 02-February 09
    • Откуда:Солнечный Крым

Отправлено 31 December 2010 - 10:36

Спасибо, именно эту компоненту я и нашел.
Прототип уже написал, работает как надо.
Набросал генератор элементов справочника со случайным текстом.
10 000 уже снегенерировал. Щас добавлю еще пару десятков тысяч элементов и проведу нагрузочное тестирование.
  • 0


Обратно в Программирование и конфигурирование 1С Предприятия 7.7


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных