Alien
Новичок
Прямой доступ к БД mnoGoSearch через SQL запросы.
Имеются результаты работы паука - лежат в табличках dict и url.
Хочется их использовать напрямую, без внешего search.cgi и
без сборки php --with-mnogosearchoption
На отладочной машине включил лог sql запросов, и понял что сортирует он неизвестным науке образом:
(показан пример для Results per page=3)
Первый запрос (самый интересный) - отдает релевантность.
Второй - что показывать.
3,4,5 - добавочные URL-ы.
Смотрю результаты первого запроса
Как из этого можно построить WHERE rec_id IN (700,252,1119) ?
Видно, что сортируется не по intag - в порядке релевантости по mnogosearch это url-ы с номерами (700,252,1119,907,701,699,448,438,428,397)
То же самое с другими запросами.
Насколько понимаю, вся БД у него в базе.
Есть идеи?
Имеются результаты работы паука - лежат в табличках dict и url.
Хочется их использовать напрямую, без внешего search.cgi и
без сборки php --with-mnogosearchoption
На отладочной машине включил лог sql запросов, и понял что сортирует он неизвестным науке образом:
(показан пример для Results per page=3)
PHP:
400 Query SELECT url_id,intag FROM dict WHERE word='QUERY'
400 Query SELECT rec_id,url,content_type,last_mod_time,title,txt,docsize,
last_index_time,next_index_time,
referrer,keywords,description,crc32,category FROM url WHERE rec_id IN (700,252,1119) ORDER BY rec_id
400 Query SELECT rec_id,url,content_type,last_mod_time FROM url WHERE crc32=1271154873 AND (status=200 OR status=304 OR status=206)
400 Query SELECT rec_id,url,content_type,last_mod_time FROM url WHERE crc32=-1318754820 AND (status=200 OR status=304 OR status=206)
400 Query SELECT rec_id,url,content_type,last_mod_time FROM url WHERE crc32=-1715874146 AND (status=200 OR status=304 OR status=206)
Второй - что показывать.
3,4,5 - добавочные URL-ы.
Смотрю результаты первого запроса
PHP:
mysql> SELECT url_id,intag FROM dict WHERE word='QUERY';
+--------+--------+
| url_id | intag |
+--------+--------+
| 8 | 65538 |
| 20 | 65538 |
| 82 | 131074 |
| 250 | 65538 |
| 252 | 196614 |
| 371 | 196610 |
| 397 | 65538 |
| 428 | 65538 |
| 438 | 65538 |
| 448 | 65538 |
| 699 | 65538 |
| 700 | 262150 |
| 701 | 65538 |
| 907 | 65538 |
| 1119 | 65538 |
+--------+--------+
15 rows in set (0.01 sec)
Видно, что сортируется не по intag - в порядке релевантости по mnogosearch это url-ы с номерами (700,252,1119,907,701,699,448,438,428,397)
То же самое с другими запросами.
Насколько понимаю, вся БД у него в базе.
Есть идеи?