|
Полнотекстовый поиск. как найти Же?лов | ☑ | ||
---|---|---|---|---|
0
Klesk666
10.01.17
✎
18:31
|
допустим не помню, Жеглов или Жезлов или вообще Же-зе-лов, жизненная ситуация другая, но схожая, как?
|
|||
1
Fragster
гуру
10.01.17
✎
18:33
|
||||
2
Fragster
гуру
10.01.17
✎
18:36
|
Поиск с использованием группового символа – поддерживается только один символ «», и он должен быть в конце слова. То есть запрос «арх» найдет «архив», «археология»
|
|||
3
Fragster
гуру
10.01.17
✎
18:36
|
Нечеткий поиск слов с заданным количеством отличий от указанного в строке поиска.
Запрос «#Система» (эквивалентно запросу «Система#1») найдет «систама», «сивтема». Запрос «Система#2» найдет «ситтама», «сеттема». Только для полнотекстового поиска в данных! |
|||
4
Klesk666
10.01.17
✎
18:44
|
(2) Же не ищет ни одного, ни второго
Же* не находит никого |
|||
5
Klesk666
10.01.17
✎
18:45
|
"Же" не находит жеглова
|
|||
6
Klesk666
10.01.17
✎
18:46
|
Жеглов#2 не находит никого
|
|||
7
Klesk666
10.01.17
✎
18:48
|
Же*лов тоже пусто
|
|||
8
Klesk666
10.01.17
✎
18:51
|
//настроить параметры поиска
мОбластьПоиска = Новый Массив; РазмерПорции = 200; СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, РазмерПорции); мОбластьПоиска.Добавить(Метаданные.Справочники.Партнеры); мОбластьПоиска.Добавить(Метаданные.Справочники.Контрагенты); мОбластьПоиска.Добавить(Метаданные.Справочники.КонтактныеЛицаПартнеров); мОбластьПоиска.Добавить(Метаданные.Справочники.ДоговорыКонтрагентов); СписокПоиска.ОбластьПоиска = мОбластьПоиска; СписокПоиска.ПерваяЧасть(); |
|||
9
Klesk666
10.01.17
✎
18:51
|
Индекс актуален
|
|||
10
Klesk666
10.01.17
✎
18:57
|
Вру, Же* пишет "слишком много результатов"
|
|||
11
Klesk666
10.01.17
✎
19:06
|
убрал ограничение это - повесил базу, как же искать?
|
|||
12
Klesk666
10.01.17
✎
19:07
|
отвисло, написало Же* ничего не найдено
|
|||
13
Живой Ископаемый
10.01.17
✎
23:55
|
а где ищешь? может поискать запросом с подобно к нужному полю определенных данных?
|
|||
14
Живой Ископаемый
11.01.17
✎
00:03
|
А, ну или сузить поиск "Же*лов"
|
|||
15
Klesk666
11.01.17
✎
00:08
|
(14) тоже пусто
где ищу в (8) |
|||
16
Живой Ископаемый
11.01.17
✎
00:13
|
ВЫБРАТЬ * ИЗ
Справочники.Партнеры ГДЕ наименование подобно "Же%лов" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ * ИЗ Справочники.Контрагенты ГДЕ наименование подобно "Же%лов" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ * ИЗ Справочники.КонтактныеЛицаПартнеров ГДЕ наименование подобно "Же%лов" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ * ИЗ Справочники.ДоговорыКонтрагентов ГДЕ наименование подобно "Же%лов" |
|||
17
Живой Ископаемый
11.01.17
✎
00:13
|
ну вернее не
ВЫБРАТЬ * а ВЫБРАТЬ ссылка, наименование |
|||
18
Живой Ископаемый
11.01.17
✎
00:14
|
ну и возможно
"%Же%лов%" |
|||
19
Klesk666
11.01.17
✎
00:16
|
это все понятно-работает, как быть с полнотекстовым поиском, которые используют пользователи
|
|||
20
Живой Ископаемый
11.01.17
✎
00:18
|
да без понятия.
он .уево параметризируем, не стал бы его использовать для такого поиска |
|||
21
Maniac
11.01.17
✎
00:19
|
Легко
|
|||
22
Maniac
11.01.17
✎
00:20
|
в поиске просто через пробел набираешь свои слоги
в запросе делаешь условия с приосединением указанных слогов (предвариательно помещая их в Массив) с условие по каждому ПОДОБНО и соединением через И Получишь все наименования в которых есть Же и Лов одновременно |
|||
23
Maniac
11.01.17
✎
00:22
|
юзеру при этом не надо будет надирать дурацких символов каких то. и мозг себе колошматить.
тупо будет набирать слоги с пробелом и все. Я у себя сделал такое в подборе номенклатуры, работает быстрее чем любой штатный и полнотекстовый |
|||
24
Klesk666
11.01.17
✎
00:25
|
(23) а как же поиск по инн, почте, адресу? по справочнику контрагенты?
|
|||
25
Maniac
11.01.17
✎
00:27
|
(24) элементарно тоже
|
|||
26
Maniac
11.01.17
✎
00:27
|
Вот пример
МассивКлючевыхСлов = глРазложитьСтрокуВМассивПодстрок(КлючевыеСловаСтроки," "); УсловиеПолейВводаПоСтроке = ""; Для инд = 0 По КоличествоКлючевыхСлов - 1 Цикл СтрКлючевоеСлово = СокрЛП(МассивКлючевыхСлов[инд]); УсловиеПолейВводаПоСтроке = УсловиеПолейВводаПоСтроке + " И СпрНоменклатура."+СтрУсловиеПоля+" ПОДОБНО &ПодстрокаПоиска"+Строка(инд); Запрос.УстановитьПараметр("ПодстрокаПоиска"+Строка(инд),"%"+СтрКлючевоеСлово+"%"); КонецЦикла; ТекстЗапроса = "ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | СпрНоменклатура.Наименование, | СпрНоменклатура.Артикул, | СпрНоменклатура.Родитель КАК ГруппаСправочника, | СпрНоменклатура.Производитель КАК Производитель |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура |ГДЕ | СпрНоменклатура.ЭтоГруппа = ЛОЖЬ"; ТекстЗапроса = ТекстЗапроса + " | "+УсловиеПолейВводаПоСтроке; ТекстЗапроса = ТекстЗапроса + " | |СГРУППИРОВАТЬ ПО | СпрНоменклатура.Производитель, | СпрНоменклатура.Родитель, | СпрНоменклатура.Ссылка, | СпрНоменклатура.Наименование, | СпрНоменклатура.Артикул"; Запрос.Текст = ТекстЗапроса; |
|||
27
Klesk666
11.01.17
✎
00:27
|
не я могу свой поиск наваять по этим полям и справочникам с ПОДОБНО, но привык прежде чем отклонить стандартный функционал признать его неработающим, может я что не так делаю
|
|||
28
Maniac
11.01.17
✎
00:30
|
Если надо по куче поле искать - делаешь на морде выбор полей.
а воде просто фигачишь переменную текстовую. Например СтрокаПоискаПоИНН = ""; Если ПоискПоИНН Тогда Эту строку заполняем текстом что я привел выше. В запросе опять же - если строка условия не пуста - тогда добавить эти условия с подобно для такого то поля поиска. |
|||
29
Maniac
11.01.17
✎
00:34
|
(27) я тебе сразу говорю - типовой функционал неподвижный.
|
|||
30
Живой Ископаемый
11.01.17
✎
00:35
|
2(27) Ну а как ты оцениваешь функционал который тебе отвечает что слишком много результатов. Можешь ли ты управлять этим параметром?
|
|||
31
Klesk666
11.01.17
✎
00:43
|
(30) 1)я говорю "выдай все, я подожду пару часов" а он не выдает.
(28) а если на поддержке (29) да, все больше в этом убеждаюсь, но почему никто это не признает и нет альтернатив, кстати а в последних релизах платформы не сдвигов в этом? |
|||
32
Живой Ископаемый
11.01.17
✎
00:45
|
"а он не выдает. " ну вот и...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |