ФорумРазработкаБазы данных → Полнотекстовый поиск

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

  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 5:51

    Собственно вопрос прост, реально ли выбрать значение при полнотекстовом поиске из поля "текст", без использования LIKE, так чтобы было совпадение по названию поля и запрашиваемому значению игнорируя прочие записи.

    запись в бд:
    id 1 = ||name2|value1,value2|name3=value3
    id 2 = name1|value1,value2||name3=value2
    id 3 = ||name2=value2,value3,value1||


    SELECT id,
    MATCH ( `field`) AGAINST ('+name2|value2' IN BOOLEAN MODE) as REL
    FROM `table`
    WHERE MATCH ( `field` ) AGAINST ('+name2|value2' IN BOOLEAN MODE)
    ORDER BY REL DESC

    Позиция искомого значения в строке не известна.
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2010 г. 6:52, спустя 1 час 1 минуту 11 секунд

    id 1 = ||name2|value1,value2|name3=value3
    id 2 = name1|value1,value2||name3=value2
    id 3 = ||name2=value2,value3,value1||


    это как понять?
    не всё полезно, что в swap полезло
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 7:01, спустя 8 минут 41 секунду

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

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2010 г. 7:10, спустя 9 минут 17 секунд

    Flexo_0, какая ещё пара имя значение?
    не всё полезно, что в swap полезло
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 7:11, спустя 1 минуту 5 секунд

    name2 = value2
    имя поля = значение
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2010 г. 7:15, спустя 3 минуты 40 секунд

    Flexo_0, а ты их в одном поле хранишь что ли?
    не всё полезно, что в swap полезло
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 7:32, спустя 16 минут 51 секунду

    Да я в обще не храню нигде)) интерес чисто теоретический, имеются доп. поля dle)) сам понимаю что скрипт уг, но организовать поиск по этим доп полям с учетом не только типа поля доп. поля select но и text, fulltext с учетом что значения в полях будут совпадать мне кажется не реально.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 ноября 2010 г. 8:09, спустя 37 минут 27 секунд

    скорее всего нельзя, посмотри как устроен полнотекстовый поиск в базе
    Сапожник без сапог
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 8:55, спустя 46 минут 13 секунд

    В том то и дело,что я знаю как работает поиск, и стало интересно проверить на практике, не вышло) думаю забыл уже все, хз )
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 ноября 2010 г. 9:24, спустя 28 минут 42 секунды

    как работает именно полнотекстовый ? :-) ну тогда ты должен понимать что ничего не выйдет
    Сапожник без сапог
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 9:34, спустя 9 минут 47 секунд

    Да блин я понимаю) но какие есть альтернативы?
    По LIKE не получится, с REGEXP )
    Собственно как их получить, с минимальными затратами ресурсов хз), ладно пох.))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 ноября 2010 г. 9:48, спустя 14 минут 17 секунд

    Да блин я понимаю) но какие есть альтернативы?
    По LIKE не получится, с REGEXP )
    Собственно как их получить, с минимальными затратами ресурсов хз), ладно пох.))

    сделать доп таблицу, которая будет поисковым индексом, заполнять ее по триггеру/либо хакам в коде/ и искать по ней, не?
    Сапожник без сапог
  • Flexo_0

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 4 ноября 2010 г. 10:35, спустя 47 минут 4 секунды

    Можно и так).
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 ноября 2010 г. 10:43, спустя 8 минут 24 секунды

    нужно … да и поиск будет в разы быстрее
    Сапожник без сапог
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2010 г. 17:41, спустя 6 часов 57 минут 12 секунд

    Я чёт ничё не понимаю. Объясните мне кто-нибудь, чего хочет ТС.
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!