Имя: Пароль:
1C
1С v8
8.1 Полнотекстовый поиск
,
0 2307861c
 
20.09.11
13:22
Можно ли задать и как для полнотекстового поиска строку что б сработало следущее
ищем строку

Один, два, три

а находит
Один, три

Реально так сделать?
1 2307861c
 
20.09.11
13:38
Никто не делал?
2 aleks-id
 
20.09.11
13:39
ИЛИ ?
3 2307861c
 
20.09.11
13:44
(2Мне получается вот есть три слова из них одного может не быть, а может и быть, а если слов 5 тогда писать 5 вариантов через "ИЛИ"?
4 Живой Ископаемый
 
20.09.11
13:45
э... параметр NEAR?
5 aleks-id
 
20.09.11
13:46
сп украли да?

Поиск может осуществляться по нескольким словам, с использованием поисковых операторов и поиском по точной фразе.
В строке ввода допускается использование следующих поисковых операторов:
И (AND или #) - поиск данных, содержащих все слова; пример: "запись И документ" - в реквизитах должны быть и "проведение" и "документ" (с учетом морфологии);
ИЛИ (OR или | или ,) - поиск хотя бы одного слова из перечисленных; пример: "запись ИЛИ документ" - в реквизитах должно быть хотя бы одно из слов "запись" или "документ";
НЕ (NOT или ~) - поиск данных, в реквизитах которых есть первое слово, но нет второго; пример: "закрытие НЕ месяц" - будут найдены все, содержащие "закрытие", но не содержащие слова "месяц". Использование "~" в начале строки не допускается;
РЯДОМ/n (NEAR/[+/-]n) - поиск данных, содержащих в одном реквизите указанные слова с учетом морфологии на расстоянии n слов между словами.
Знак указывает, в каком направлении от первого слова будет искаться второе слово ("+" – после первого; "-" – до первого слова).
Если знак не указан, то будет найдены данные, содержащие указанные слова на дистанции n слов друг о друга. Порядок слов не имеет значения.
"фен РЯДОМ/3 воздух" - будут найдены данные, в которых "воздух" находится не более 3-х слов до или после "фен";
фен РЯДОМ/+3 воздух - будут найдены данные, в которых "воздух" находится не более 3-х слов после "фен";
фен РЯДОМ/-3 воздух - будут найдены данные, в которых "воздух" находится не более 3-х слов перед "фен".
РЯДОМ(NEAR) - упрощенный оператор дистанции: оба слова расположены не далее, чем в 8-ми словах друг от друга; пример: "проведение РЯДОМ документ";
"" (текст в кавычках) - поиск точной с учетом морфологии фразы , пример: "проведение документа" - эквивалентно: проведение /1 документа;
() - группировка слов (сколько угодно уровней вложенности); пример: "(проведение | выписка) # (счета, документа)";
* - поиск с использованием группового символа (замена окончания слова). Должно быть введено более 1 значащего символа; пример: "доку*" - найдет "документ", "документировать", "документальный" и др.;
# - нечеткий поиск слов с заданным количеством отличий от указанного (если не указано, то = 1); пример: запрос "#Система" найдет "систама", "сивтема"; запрос "Система#2" найдет "ситтама", "сеттема";
! - поиск с учетом синонимов русского, английского и украинского языков. "!" ставится перед соответствующим словом; пример: поиск "!красный кафель", найдет еще и "алый кафель" и "коралловый кафель".
Если не указано никаких операторов (слова набраны через пробел), то программа осуществляет поиск всех слов из запроса с использованием оператора И.
Замечание 1. Написание операторов И (AND), ИЛИ (OR), НЕ (NOT), РЯДОМ (NEAR) допускается только в верхнем регистре.
Замечание 2. Операторы не используются как унарные (в начале строки поиска). Например, нельзя сделать выбор всех глав, в которых отсутствует указанный текст.
Ограничение. При использовании нечеткого и группового поиска (операторы "*" и "#") может быть найдено несколько слов. Общее число найденных слов не может превышать 300.
6 2307861c
 
20.09.11
13:49
У меня есть строка
185/60R15   84H   ECOPIA EP100A   BRIDGESTONE

а в справочнике
185/60R15 84H Bridgestone EP100A

лишнее ECOPIA
как тогда прописать? Тем более что должно быть универсально я не должен смотретьи определять что за лишнее слово
7 aleks-id
 
20.09.11
13:51
пиши 185,60R15,84H,Bridgestone,EP100A
8 2307861c
 
20.09.11
13:56
(7)Я должен именно п строке 185/60R15   84H   ECOPIA EP100A   BRIDGESTONE найти позицию 185/60R15 84H Bridgestone EP100A
9 Живой Ископаемый
 
20.09.11
14:00
2(8)боюсь что нет...
10 2307861c
 
20.09.11
14:05
(9)А как тогда пробовать по одному слову отбрасывать и искать?
11 Живой Ископаемый
 
20.09.11
15:30
2(10) не понял вопроса
12 vinogradъ
 
20.09.11
15:43
(6) разбить обе строки на слова без пробелов, записать в таблицы, посмотреть сколько будет равен count(*) left join меньшей строки с большей (при условии, что ищется полное вхождение меньшей строки в большую с произвольным порядком слов)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс