Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.


Stary wyjadacz :P



Witam
zaczynam zabawę z sphinx 2.0 do indeksowania bazy SQL
w minimalnej konfiguracji zawartej w źródłach sphinxa pojawia mi się bład podczas wywołania :
search szukanafraza
index 'testrt': search error: failed to open C:\bin\sphinx\data\testrt.sph: No such file or directory.
Narazie testuje na windows po przetestowaniu przeniosę go na debiana
o co chodzi z tym errorem ??
Offline

Użytkownik


A zrobiłeś index bazy wcześniej?
Offline


Stary wyjadacz :P



tak ,ale sphinx nie wykonał indeksu dla testrd:
skipping non-plain index 'testrd '
mój config:
#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
source sql_system
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = ko
sql_port = 3306 # optional, default is 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, model, `desc` , category_id FROM products
sql_attr_uint = category_id
#sql_attr_str2ordinal = model
#sql_attr_str2ordinal = desc
#sql_attr_timestamp = date_added
sql_query_info = SELECT * FROM products WHERE id=$id
}
index documents
{
source = sql_system
path = C:\bin\sphinx1\bin\data\test1
docinfo = extern
charset_type = utf-8
min_word_len = 3
min_prefix_len = 0
min_infix_len = 3
}
indexer
{
mem_limit = 32M
}
searchd
{
port = 9312
log = C:\bin\sphinx1\bin\data\searchd.log
query_log = C:\bin\sphinx1\bin\data\query.log
read_timeout = 5
max_children = 30
pid_file = C:\bin\sphinx1\bin\data\searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 0
unlink_old = 1
}Offline

Użytkownik


Właśnie dlatego krzyczy o ten plik, ponieważ nie wykonał tego indexu ;d. W opcji sql_pass to celowo ją wymazałeś, żeby nie było teraz widać, czy w ogóle jej nie ustawiałeś, tam powinno być o ile się nie mylę hasło do bazy danych.
Offline


Stary wyjadacz :P



a co jeśli hasło mam puste ? (localhost) , usunięcie frazy sql_pass objawia się błędem :(
Offline

Użytkownik


Musisz wszystkie te parametry pouzupełniać, bo sphinx nie będzie ci się łączył z bazą danych, więc tak:
sql_host = nazwa lub adres ip hosta na jakim jest baza
sql_user = nazwa użytkownika który ma dostęp do bazy
sql_pass = hasło dostępu tego użytkownika
sql_db = nazwa bazy z której ma korzystać sphinxjak uzupełnisz to zrób index bazy
Offline


Stary wyjadacz :P



hmm ,sphinx bez hasła łączy mi się z bazą danych oraz indeksuje dane ,zmierzamy w błędnym kierunku i dalej niewiem czym jest wywowałny błąd z pierwszego postu w tym topicu :((
Offline

Użytkownik


Czyli to mamy wykluczone, teraz zastanawiam mnie najbardziej to:
czemu w ścieżce z błędu jest sam sphinx
index 'testrt': search error: failed to open C:\bin\sphinx\data\testrt.sph: No such file or directory.
zaś w ścieżkach podajesz sphinx1
path = C:\bin\sphinx1\bin\data\test1
Sprawdź jak to jest z tymi katalogami może tu jest błąd.
Offline


Stary wyjadacz :P



zainstalowałem sphinx na debianku i jak ręką odjął :) ,zero problemów ,pięknie indeksuje dane oraz je zwraca :) .pzdr
Offline

Użytkownik


No tak u mnie też uruchamiałem na debianie i też od razu załapał ;)
Offline


Stary wyjadacz :P



Czy za pomocą sphinx'a mogę pobrać tylko rekordy pasujące do fitru (np status = 1 ,category =18) bez podania frazy szukanego tekstu ?
Offline

Użytkownik


Niestety nie wiem, jeszcze tak dobrze tego nie ogarniam ;/
Offline