|
|
|
| У меня таблица с статьями. Надо сделать поиск который будет искать поисковую фразу в статьях и сортировать результат по количеству вхождений. Как это можно осуществить без полнотекстового поиска? Полнотекстовый поиск не устраивает, потому что он ищет по словам а не вхождениям. Посоветуйте как можно это сделать. Заранее благодарю. | |
|
|
|
|
|
|
|
для: jeans1986
(05.01.2011 в 14:08)
| | А структуру таблицы привели бы... | |
|
|
|
|
|
|
|
для: lightning.say
(05.01.2011 в 16:28)
| | .
Мне надо смотреть в story количество вхождений поисковой фразы и отображать по колиечству вхождений этой фразы в поле story.
Т.е если есть таблица:
1 - aaa bbb ccc
2 - aaa aba cac
3- ddd aff eee
|
Фраза для поиска: a
Результат должен быть:
2 - aaa aba cac
1 - aaa bbb ccc
3- ddd aff eee
|
| |
|
|
|
|
|
|
|
для: jeans1986
(05.01.2011 в 14:08)
| | Вам надо найти количество вхождений подстроки в строку и отсортировать по нему:
SELECTE substr_count('aaa aba cac', 'a') as count
...
ORDER BY count DESC
Одна лишь проблема. Маленькая. Функции substr_count и ее аналогов в mysql нет.
Быстрый гуглопоиск выдал это. Но мне кажется, это вам будет дорогого стоить в плане нагрузки. | |
|
|
|
|
|
|
|
для: neadekvat
(05.01.2011 в 17:46)
| | >Вам надо найти количество вхождений подстроки в строку и отсортировать по нему:
>SELECTE substr_count('aaa aba cac', 'a') as count
Э..?
>Одна лишь проблема. Маленькая. Функции substr_count и ее аналогов в mysql нет.
Хороша маленькая :))) | |
|
|
|
|
|
|
|
для: neadekvat
(05.01.2011 в 17:46)
| | а нельзя перегнать данные в массив, элементами которого будут значения из таблицы и работать с ним уже при помощи функции substr_count? | |
|
|
|
|
|
|
|
для: lightning.say
(05.01.2011 в 18:26)
| | А если статей 100 000? При каждом поисковом запросе вытаскивать все 100 000 записей в оперативную память, вычислять количество вхождение, сортировать, выдавать..
А если там еще постраничная навигация? | |
|
|
|
|
|
|
|
для: neadekvat
(05.01.2011 в 18:47)
| | логично | |
|
|
|
|
|
|
|
для: neadekvat
(05.01.2011 в 17:46)
| | кстати, метод по ссылке в некоторых случаях не такой уж позорный.
Например, когда подстрока присутствует лишь в небольшом количестве строк таблицы. | |
|
|
|
|
|
|
|
для: Trianon
(05.01.2011 в 19:09)
| | Ни в коем случаи я не считал его позорным :) Не дорос еще.
Однако мне кажется такое в принципе не применимо на большом количестве текстов (именно текстов (text, blob..); возможно, по строкам потянет нормально). | |
|
|
|
|
|
|
|
для: neadekvat
(05.01.2011 в 19:25)
| | зависит от частоты такого рода запросов к базе...
Если запрос раз в сутки - почему бы и нет? | |
|
|
|
|
|
|
|
для: Trianon
(05.01.2011 в 20:07)
| | Но, судя по первому посту, это пользовательский поиск. А он используется много чаще, чем раз в сутки. | |
|
|
|