Общие > Базы данных
поиск в BLOB
Greg:
commander
поля: ид, путь, заголовок-title, текст документа (основной текст без шапок, меню и т.п. - с тегами)
поиск нужно организовать по заголовку и тексту документа
хочу сделать пока простой поиск без словоформ, но потом его модернизировать потихоньку
мои мысли таковы:
1. найти максимальное количество совпадений искомой строки в заголовке и тексте документа (причем заголовку отдать большее предпочтение)
2. вывести результаты по убыванию
честно говоря, поиском по тексту ранее почти не занимался (исключая просто поиск слова или строки в тексте). сформулировать свои мысли толком не могу... ибо мало их!
Модераторам: может передем в алгоритмы?
commander:
Greg
на сколько серьездный поиск ты собираешся реализовывать?
т.е.
1. нужно ли строить спинеты (части текста где встречаеться искомое слово)?
2. какой объем данных по которым нужно провести поиск?
короче выложи полную инфу что есть и что надо... иначе сложно что-то подсказать по этому поводу...
Greg:
commander
1.на данный момент поиск осуществляется по нескольким сотням записей в базе (та информация, что храниться конкретно в базе), каждую неделю, на тысячу увеличивается, т.е. рассчитывать нужно на десятки и сотни тысяч записей
2. также имеются несколько сотен статичных документов, которые индексируются (как - описал выше)
собственно получается так, что в поиск нужно осуществлять по заголовку и тексту документа (разные таблицы построены по разному, но в принципе очень похожи).
хотелось бы на первоначальном этапе искать так:
1. совпадение фразы полностью в заголовке и документе
2. совпадени фразы в заголовке
3. совпадени фразы в тексте
4. совпадение нескольких слов фразы в заголовке и/или тексте
5. совпадение одного слова в заголовке и/или тексте
простой поиск слов поисковой фразы в тексте и заголовке уже реализован. однако он не удовлетворяет таким условиям, чтобы документы были хоть как-то релевантны звпросу - иногда выдается совершенно посторонние документы, особенно по общеупотребительным словам, присутствующим во фразе
нужно чтобы набрав фразу "газовые котельные" человек попал на страницу новости, которая говорит о повальном перевооружении котельных области, а не получил результат со страницами (заголовки): "газовые аттаки в ираке" и пр.
на первоначальном этапе хочу сделать простой поиск без словоформ и т.п. мудреностей, далее думаю обязательно модернизировать... т.е. нужно понять весь алгоритм: от простого к сложному
commander:
Greg
если будет сотни тысяч записей от БД как таковой придеться отказаться...
Greg:
commander
каким же образом тогда искать?
Навигация
Перейти к полной версии