Как делать сниппет?

12
Andreyka
На сайте с 19.02.2005
Offline
822
#11

Обычно предложения начинаются с большой буквы а заканчиваются точкой.

Не стоит плодить сущности без необходимости
antono
На сайте с 12.07.2004
Offline
297
#12

Я сделал по "деревенски" - вычислил координаты в тексте запрашиваемых слов, отсчитал от каждого 20 символов назад и вперед и этот текст вывел в качестве "цитаты". На большее ума не хватило :)

WildOne
На сайте с 24.07.2002
Offline
149
#13
antono:
Я сделал по "деревенски" - вычислил координаты в тексте запрашиваемых слов, отсчитал от каждого 20 символов назад и вперед и этот текст вывел в качестве "цитаты". На большее ума не хватило

по-моему очень грамотно :)

UB
На сайте с 13.02.2006
Offline
2
#14

На чем реализована штука? на Перле чтоли? Или написал полноценную на С или С++ ? Кстати, кто читал Kevin Hemenway, Tara Clishain "Spidering Hacks"

I
На сайте с 26.05.2001
Offline
64
#15

Таки надо ИМХО при такой реализации держать весь словарь в памяти (ну или все слова с частотой появления > 0.0...). Хотя, с другой стороны, сейчас это абсолютно не проблема.

Единственное, что я не понял, как наличие прямого индекса может сократить размер обратного индекса и как на это влияет размер базы?

Keva:

Теперь по реализации.

Я обычно реализую это через т. н. "плоский индекс" - через образы документов, где каждое слово представлено 4-байтным идентификатором. При вычислении запроса с учетом координат слов запоминаю несколько самых релевантных фрагментов, строю битмапу для цитирования и, адресуя этот образ индексами слов, строю цитату. Вхождения, соответственно, все подсвечиваю.

Кстати, использование такого плоского индекса на небольших объемах - не более пары миллионов урлов - может, как ни странно, при переорганизации алгоритма сократить объем обратного индекса.
Приходите завтра, завтра будет! (http://itman666.livejournal.com)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий