выбор поискового движка, который индексирует через mysql. windows

C7
На сайте с 18.01.2011
Offline
5
509

прошу совета в выборе поискового движка для сайта. сайт расположен на сервере ms windows server 2003 (R2).

проблема в том, что id всех страниц сайта находятся в mysql. cms формирует динамическую страницу на основе id, полученного из mysql. а поисковики, насколько я понимаю, индексируют только статические документы.

думаю, сайтов, работающих подобным образом существует много. и скорее всего решение описанной проблемы существует. пните пожалуйста в нужно направлении.

сейчас на моем сайте установлен yandex.server. и часть страниц он все таки индексирует (статических). может быть его как то можно использовать для решения проблемы?. я несколько раз запускал индексацию через http://bla.ru:17000/admin/ , но динамические страницы не проиндексировались.

izbushka
На сайте с 08.06.2007
Offline
110
#1

Подовляющее большинство сайтов в интернете динамические. И ПС их прекрасно индексируют.

cyklop77:
cms формирует динамическую страницу на основе id, полученного из mysql

Может наоборот? cms формирует динамическую страницу на основе запроса пользователя, доставая из sql нужную страницу по id.

Адрес конкретной страницы постоянный, не меняется? Если да, то ее проиндексируют, если к ней ведут ссылки на сайте.

ПС. прошу прощения, не правильно понял. Хочется чтоб свой локальный поиск работал? Дак вроде тот же yandex.server умеет индексировать не локальные файлы, а по http.

C7
На сайте с 18.01.2011
Offline
5
#2

яндекс умеет. но дело в том, что сайт организации доступен только пользователям внутренней сети. из интернета его не видно.

на этом моём сайте с mysql страницы не хранятся. только id и еще немного информации. порядок работы примерно следующий:

пользователь совершает действие. например жмет ссылку(которая содержит id),

ссылка каким то хитрым способом(мод реврайт кажется) попадает на страницу, на которой разбирается. из нее вытаскивается id и формируется запрос к БД.

этот запрос вытаскивает еще некоторую информацию из БД, которая используется в html-шаблоне.

вот эти готовые html-шаблоны мне нужно проиндексировать.

можно ли в этой ситуации использовать yandex.server или стоит попробовать другой движок?

izbushka
На сайте с 08.06.2007
Offline
110
#3
cyklop77:
эти готовые html-шаблоны

Не понял. Вам нужно проиндексировать сайт, пусть доступный только локально? yandex.server умеет индексировать http. какая ему разница, как работает cms?

C7
На сайте с 18.01.2011
Offline
5
#4

это хорошо, что умеет индексировать http...

но тогда я в ступоре. и последующие вопросы будут связаны с телепатией...

этот саит у предыдущего вебмастера индексировался нормально. сеичас же после добавления нового контента почему то без проблем находятся только старые страницы(id которых не изменился). новые страницы не находятся. а страницы старые, но id которых изменился находятся поисковиком, но представляют из себя белый экран(то есть ссылка ведет на старую страницу, которой уже не существует). как то так.

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

izbushka
На сайте с 08.06.2007
Offline
110
#5

Смотрите настройки yandex.server. Давно уже не пользовался им. Но сам процесс индексирования, насколько я помню, надо инициировать.. Может он у вас просто не пытается индексировать?

C7
На сайте с 18.01.2011
Offline
5
#6

а не вспомните каким образом вы запускали индексацию? от предыдущего вебмастера осталась небольшая заметка о том, что это делается с помощью батника(а не из админки). я нашел всего 4 батника. первые два start.bat и stop.bat - это не то. вторые два я покажу, если вы не против.

у меня подозрение, что merge_index.bat это и есть нужный файл(но кажется судя по коду его нужно запускать не просто двойным кликом, а из ком строки с тремя параметрами. без указания параметром скрипт не прерывается и не отрабатывает).


merge_index.bat


@echo off

if "%1"=="" GOTO error
if "%2"=="" GOTO error
if "%3"=="" GOTO error
goto work
:error
echo Usage: merge_index.bat index_path1 index_path2 merged_index_path
exit 1

:work

rem export LD_LIBRARY_PATH=/usr/local/share/yandex/lib:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH;


SET binDir=d:\server\Yandex\Server
SET index1=%1
SET index2=%2
SET indexRes=%3

SET MERGER_BIN="%binDir%\merger.exe"
SET DATAWORK_BIN="%binDir%\datawork.exe"
SET M2NSORT_BIN="%binDir%\m2nsort.exe"
SET WRLENDAT_BIN="%binDir%\wrlendat.exe"
SET INDEX1_BIN=%index1%
SET INDEX2_BIN=%index2%
SET INDEXRES_BIN=%indexRes%


%MERGER_BIN% %INDEX1_BIN%\index %INDEX2_BIN%\index
%DATAWORK_BIN% load -i index_map.txt -o index_map.dat -p 14 tfromtorec
%M2NSORT_BIN% -T %TEMP% -t yand -a index_map.dat -M 2 -N 1 -I %INDEX1_BIN%\index %INDEX2_BIN%\index -O %INDEXRES_BIN%\index
%M2NSORT_BIN% -T %TEMP% -t arc -a index_map.dat -M 2 -N 1 -I %INDEX1_BIN%\index %INDEX2_BIN%\index -O %INDEXRES_BIN%\index

if NOT EXIST %index1%\indexattr GOTO finish
if NOT EXIST %index2%\indexattr GOTO finish

%M2NSORT_BIN% -t attr -a index_map.dat -M 2 -N 1 -I %INDEX1_BIN% %INDEX2_BIN% -O %INDEXRES_BIN%

:finish
%WRLENDAT_BIN% %INDEXRES_BIN%\index
echo Merged index is written to %indexRes%


boray_idexer.bat


C:\server\Yandex\Server\dsindexer.exe -r
izbushka
На сайте с 08.06.2007
Offline
110
#7

Я пользовался unix вариантом. Как это было - не помню, но на сайте яндекса должно быть все описано.

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