Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 21:52

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

Автор Nosferatu112, 17 апр 2024, 17:53

0 Пользователей и 1 гость просматривают эту тему.

Nosferatu112

Всем привет, что не так я делаю в полнотекстовом поиске
Есть РС:
Объект(Измерение)      Значение(Ресурс)
Адрес доставки            Тел1 Тел2 Тел3 Мейл улица тел 4

В таком духе в регистре заполнены строки
Мне нужно в значении находить то что пользователь вбил в поисковую строку и показывать в динамическом списке
Сейчас это реализовано через RegExp = Новый COMОбъект("VBScript.RegExp"); (Не до конца понял как это работает но грузит базу)
Попросили переделать через полнотекстовый поиск я скопипастил процедуру и подставил свои значения но в результате всегда 0 что я делаю не так
Код:
&НаСервере
Функция ВыполнитьПоискНаСервере(СтрокаПоиска)
   
    РазмерПорции = 50;
    Результат = Новый Массив;

    СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, РазмерПорции);
//СписокПоиска.ИспользованиеМетаданных = ИспользованиеМетаданныхПолнотекстовогоПоиска.НеИспользовать;
СписокПоиска.ОбластьПоиска = Новый Массив;
СписокПоиска.ОбластьПоиска.Добавить(Метаданные.РегистрыСведений.ПредставлениеВсейКонтактнойИнформации);
    СписокПоиска.ПолучатьОписание = Истина;
СписокПоиска.ПолучатьПредставление= Истина;
СписокПоиска.ПорогНечеткости = 25;
ПолнотекстовыйПоиск.ДатаАктуальности();//0001.01.01 00:00:00
ПолнотекстовыйПоиск.ИндексАктуален(); //Ложь
ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска(); //Истина
СписокПоиска.СлишкомМногоРезультатов(); //Ложь
СписокПоиска.НачальнаяПозиция(); //-1
Стр = СписокПоиска.СтрокаПоиска;
Обл = СписокПоиска.ОбластьПоиска;
    СписокПоиска.ПерваяЧасть();
КолВо = СписокПоиска.ПолноеКоличество(); // 0
ВидОтображения = ВидОтображенияПолнотекстовогоПоиска.XML;
ОтображениеРезультата = СписокПоиска.ПолучитьОтображение(ВидОтображения);
//Если СписокПоиска.СлишкомМногоРезультатов() Тогда
//    ВызватьИсключение НСтр("ru = 'Слишком много результатов, уточните запрос'");
//КонецЕсли;
   
    ПолноеКоличество = СписокПоиска.ПолноеКоличество();
////Если ПолноеКоличество = 0 Тогда
////    ВызватьИсключение НСтр("ru = 'По запросу ничего не найдено'");
////КонецЕсли;
Коменты справа от методов это их значения на отладке

Nosferatu112

Ни кто не сталкивался с полнотекстовым поиском?)) У кого не спрошу все руками разводят)

LexaK

ну для одного регистра, сделай поиск запросом через Подобно "%" + ТестПоиска + "%" (по всем нужным полям через)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск