powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Fulltext Search
11 сообщений из 11, страница 1 из 1
Fulltext Search
    #38886842
Borodatych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Позвольте несколько вопросов...

I.
Условие (такого номера заведомо нет):
Код: sql
1.
WHERE MATCH (`detail_no`) AGAINST ('+406 +1003050 +11' IN BOOLEAN MODE)


Ответ:
406-003050, 406-003050-00, 406-003050-01

Вроде все логично, но почему не вернулось пусто? Импровизация?!

II.
Условие (такого номера заведомо нет):
Код: sql
1.
WHERE MATCH (`detail_no`) AGAINST ('+406 +1003053 +01' IN BOOLEAN MODE)


Ответ:
1003053-101-0000, B30-1003053

Самое больше слово автоматически самое релевантное? (+импровизация)
...
Рейтинг: 0 / 0
Fulltext Search
    #38886854
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятен подход. Если требуется строгое соответствие - за каким фигом полнотекст? Если это номера - за каким фигом в тексте, почему не формализовано?
...
Рейтинг: 0 / 0
Fulltext Search
    #38886856
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЕсли это номера - за каким фигом в тексте, почему не формализовано?В данном случае, насколько я понимаю, термин "номера" - это из предметной области (артикулы запчастей). Технически это все-таки строки.
...
Рейтинг: 0 / 0
Fulltext Search
    #38886875
Borodatych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaНепонятен подход
Что бы при условии:
Код: sql
1.
WHERE MATCH (`detail_no`) AGAINST ('+406 +1003050' IN BOOLEAN MODE)


Получить ответ:
406-003050 , 406-003050 -00, 406-003050 -01
...
Рейтинг: 0 / 0
Fulltext Search
    #38886915
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftТехнически это все-таки строки.Технически это упорядоченные группы идентификационных номеров. Массивы, если угодно. Просто в текстовом виде они представляются строками - так человеку удобнее смотреть. Но это не значит, что следует при хранении данных идти на поводу у удобства просмотра. Ибо результат такого прогиба мы как раз и видим у ТС, в полный рост...
...
Рейтинг: 0 / 0
Fulltext Search
    #38886992
Borodatych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaНо это не значит, что следует при хранении данных идти на поводу у удобства просмотра
Если не затруднит, поделитесь идеей как хранить в таком случае.

Но вопросы все же пока актуальны...
...
Рейтинг: 0 / 0
Fulltext Search
    #38887001
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Borodatychподелитесь идеей как хранить в таком случае.
Как я уже сказал, полный номер является упорядоченной совокупностью формализованных характеристик. Выполните его формализацию на уровень хранения. Например, разделите полный номер на смысловые группы и храните каждую группу в своём поле. И, соответственно, поиск ведите только в поле с требуемым элементом. В продемонстрированном случае наполнения значение каждой смысловой группы является целочисленным, именно такой тип поля и следует использовать. При правильном индексировании запрос полетит.
А собрать требуемое текстовое представление номера для вывода на экран из формализованных частей - задача элементарная.
...
Рейтинг: 0 / 0
Fulltext Search
    #38887022
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я поступаю проще - храню две копии номера - с исходным форматированием и в преобразованном виде (т.е. без знаков-разделителей, в одном регистре, с заменой русских букв на аналогичные по написанию латинские, с заменой O->0,З->3, Ё->Е и т.п.). Поиск происходит простым LIKE-ом по второму значению, а визуально отображается первое.
...
Рейтинг: 0 / 0
Fulltext Search
    #38887024
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaполный номер является упорядоченной совокупностью формализованных характеристик. Выполните его формализацию на уровень хранения. Например, разделите полный номер на смысловые группы и храните каждую группу в своём поле. И, соответственно, поиск ведите только в поле с требуемым элементом.Если моя догадка, что это номера запчастей, верна, то это безнадежный путь. Наши сотрудники как-то задались целью собрать все форматы этих номеров. После 200 штук сдались.
...
Рейтинг: 0 / 0
Fulltext Search
    #38887116
Borodatych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем полагаю, на первый вопрос ответ "Так и должно быть", на второй "Да"...

miksoftЕсли моя догадка, что это номера запчастей
Верна

Akina , miksoft , благодарю за идеи, гляну в эти направления.
...
Рейтинг: 0 / 0
Fulltext Search
    #38953555
Borodatych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Вдруг кому пригодится.
В моем случае помогло обрамление в кавычки.

Условие (такого номера заведомо нет):
Код: sql
1.
2.
WHERE MATCH (`detail_no`) AGAINST ('"+406 +1003050 +11"' IN BOOLEAN MODE)
WHERE MATCH (`detail_no`) AGAINST ('"+406 +1003053 +01"' IN BOOLEAN MODE)


Ответ: пусто


Условие:
Код: sql
1.
WHERE MATCH (`detail_no`) AGAINST ('"+406 +1003050"' IN BOOLEAN MODE)


Ответ: 406-003050, 406-003050-00, 406-003050-01


Мне кажется плюсики лишние?! И как то оно на LIKE похоже стало...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Fulltext Search
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]