@MximuS
Full stack веб разработчик

Ошибка sphinx .....?

UPD. Проблема решена. Всем кто столкнётся с этой проблемой:

1 — Юзайте sphinx 0.9.9

2 — Проверяйте конфиг, чтобы параметр mem_limit был в допустимых пределах(от 32M до 2047M, однако мне хватило 256M на базу в миллион записей)

3 — В блоке searchd конфига должен быть параметр:
ondisk_dict_default = 1

4 — Не забывайте про память, её надо много (2Гб свободных минимум, мне хватило только 4Гб при 1 миллионе записей).


Добрый вечер всем.


Уже много дней бьюсь на ошибкой при работе sphinx'а. На офф форуме не помогли, хочется узнать может ли здесь кто-нибудь помочь.


Итак, Sphinx я настраиваю с IPB 3, конфиг выглядит так:



indexer<br/>
{<br/>
 mem_limit = 5000M<br/>
}<br/>
searchd<br/>
{<br/>
 listen = 127.0.0.1:9312<br/>
<br/>
log = /var/sphinx/log/searchd.log<br/>
<br/>
query_log = /var/sphinx/log/query.log<br/>
<br/>
read_timeout = 5<br/>
<br/>
client_timeout = 300<br/>
<br/>
max_children = 30<br/>
<br/>
pid_file = /var/sphinx/log/searchd.pid<br/>
<br/>
max_matches = 1000<br/>
<br/>
seamless_rotate = 1<br/>
<br/>
preopen_indexes = 0<br/>
<br/>
unlink_old = 1<br/>
<br/>
ondisk_dict_default = 1<br/>
<br/>
mva_updates_pool = 1M<br/>
<br/>
max_packet_size = 128M<br/>
<br/>
max_filters = 256<br/>
<br/>
max_filter_values = 4096<br/>
}<br/>



Если надо, могу привести код остальной части файла. При индексе сначала всё идёт хорошо, но в самом конце появляется ошибка:
[ruswiss@vps var]$ sudo /usr/local/bin/indexer --config /etc/sphinx/sphinx.conf --all<br/>
Sphinx 0.9.9-release (r2117)<br/>
Copyright © 2001-2009, Andrew Aksyonoff<br/>
<br/>
using config file '/etc/sphinx/sphinx.conf'...<br/>
indexing index 'gallery_search_main'...<br/>
collected 5612 docs, 1.1 MB<br/>
sorted 0.1 Mhits, 100.0% done<br/>
total 5612 docs, 1061951 bytes<br/>
total 0.385 sec, 2752380 bytes/sec, 14545.26 docs/sec<br/>
indexing index 'gallery_search_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
total 0 docs, 0 bytes<br/>
total 0.005 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'gallery_search_comments'...<br/>
collected 95 docs, 0.0 MB<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 95 docs, 10699 bytes<br/>
total 0.012 sec, 875460 bytes/sec, 7773.50 docs/sec<br/>
indexing index 'gallery_search_comments_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
total 0 docs, 0 bytes<br/>
total 0.008 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'core_search_main'...<br/>
collected 30 docs, 0.1 MB<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 30 docs, 79965 bytes<br/>
total 0.015 sec, 5254977 bytes/sec, 1971.47 docs/sec<br/>
indexing index 'core_search_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
total 0 docs, 0 bytes<br/>
total 0.004 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'forums_search_posts_main'...<br/>
collected 965770 docs, 640.8 MB<br/>
sorted 39.9 Mhits, 100.0% done<br/>
total 965770 docs, 640754002 bytes<br/>
total 336.202 sec, 1905856 bytes/sec, 2872.58 docs/sec<br/>
indexing index 'forums_search_posts_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
total 0 docs, 0 bytes<br/>
total 0.027 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'members_search_main'...<br/>
collected 17334 docs, 0.6 MB<br/>
collected 34668 attr values<br/>
sorted 0.1 Mvalues, 100.0% done<br/>
sorted 0.1 Mhits, 100.0% done<br/>
total 17334 docs, 619859 bytes<br/>
total 3.574 sec, 173428 bytes/sec, 4849.82 docs/sec<br/>
indexing index 'members_search_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
collected 0 attr values<br/>
sorted 0.0 Mvalues, nan% done<br/>
total 0 docs, 0 bytes<br/>
total 0.001 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'calendar_search_main'...<br/>
collected 649 docs, 0.4 MB<br/>
collected 1298 attr values<br/>
sorted 0.0 Mvalues, 100.0% done<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 649 docs, 420252 bytes<br/>
total 0.047 sec, 8817708 bytes/sec, 13617.28 docs/sec<br/>
indexing index 'calendar_search_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
collected 0 attr values<br/>
sorted 0.0 Mvalues, nan% done<br/>
total 0 docs, 0 bytes<br/>
total 0.001 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'blog_search_main'...<br/>
collected 345 docs, 1.7 MB<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 345 docs, 1689228 bytes<br/>
total 0.848 sec, 1989871 bytes/sec, 406.40 docs/sec<br/>
indexing index 'blog_search_delta'...<br/>
collected 0 docs, 0.0 MB<br/>
total 0 docs, 0 bytes<br/>
total 0.001 sec, 0 bytes/sec, 0.00 docs/sec<br/>
indexing index 'blog_comments_main'...<br/>
collected 300 docs, 0.4 MB<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 300 docs, 351576 bytes<br/>
total 0.016 sec, 21819400 bytes/sec, 18618.50 docs/sec<br/>
indexing index 'blog_comments_delta'...<br/>
collected 300 docs, 0.4 MB<br/>
sorted 0.0 Mhits, 100.0% done<br/>
total 300 docs, 351576 bytes<br/>
total 0.053 sec, 6610435 bytes/sec, 5640.68 docs/sec<br/>
total 16 reads, 4.084 sec, 62958.8 kb/call avg, 255.3 msec/call avg<br/>
total 2093 writes, 22.247 sec, 987.9 kb/call avg, 10.6 msec/call avg<br/>
WARNING: munmap() failed: Invalid argument<br/>



Есть у кого-нибудь хоть какие-нибудь предположения, с чем может быть связано?
  • Вопрос задан
  • 4432 просмотра
Пригласить эксперта
Ответы на вопрос 6
GearHead
@GearHead
Fullstack разработчик и предприниматель
ошибка? где ошибка-то? я вижу один варнинг. поиск-то работает?
Ответ написан
Комментировать
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Это не должно быть смертельно, посмотрите по исходникам. Да, не смогли размапить кусок памяти, т.к. или адрес убежал, или длина = 0, но жизнь-то продолжается.

src/sphinxstd.h, line 1389:


	/// deallocate storage
	void Reset ()
	{
		if ( !m_pData )
			return;

#if USE_WINDOWS
		delete [] m_pData;
#else
		if ( g_bHeadProcess )
		{
			int iRes = munmap ( m_pData, m_iLength );
			if ( iRes )
				sphWarn ( "munmap() failed: %s", strerror(errno) );
		}
#endif // USE_WINDOWS

		m_pData = NULL;
		m_iLength = 0;
		m_iEntries = 0;
	}
Ответ написан
Комментировать
@MximuS Автор вопроса
Full stack веб разработчик
В том то и дело что поиск тоже не работает. Пишет No space on devise (length = 1) для все файлов. На VPS свободно 42Гб винта и 1 Гб оперативы. Сумма размеров файлов индекса 300 Мб
Ответ написан
Комментировать
другую версию Sphinx попробуйте собрать
Ответ написан
Комментировать
@Anze
memory limit: default is 32M, max is 2047M, recommended is 256M to 1024
думается тут собака и зарыта
Ответ написан
Комментировать
@MximuS Автор вопроса
Full stack веб разработчик
Всё, проблема разрешилась. Всем спасибо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы