Selamlar,
Hali hazırda sunucuda kurulu olan Sphinx'i localde bir Laravel projesi içerisinde kullanmak istiyorum. Bunu nasıl yapabilirim? Kullanmaktan kastım, tablolarını vs görüp içerisinde arama yapabilmek.
Şimdiden teşekkür ederim.
Selamlar,
Hali hazırda sunucuda kurulu olan Sphinx'i localde bir Laravel projesi içerisinde kullanmak istiyorum. Bunu nasıl yapabilirim? Kullanmaktan kastım, tablolarını vs görüp içerisinde arama yapabilmek.
Şimdiden teşekkür ederim.
muharremozdemir Dokümanda şöyle demiş:
https://sphinxsearch.com/docs/sphinx3.html#sphinx-3
The primary client API is currently SphinxQL, a dialect of SQL. Almost any MySQL connector should work. Additionally, basic HTTP/JSON API and native APIs for a number of languages (PHP, Python, Ruby, C, Java) are provided.
Eğer Sphinx sunucuda dışa açık bir ip ile yapılandırılmış ise (https://sphinxsearch.com/docs/current.html#conf-listen), anladığım kadarıyla config/database.php içinde (örneğin sphinx ismiyle) bir MySQL bağlantısı eklerseniz bağlanabilirsiniz gibi. Zaten PHP örneğini de mysqli_connect ile vermişler:
https://sphinxsearch.com/docs/sphinx3.html#running-queries-from-php-python-etc
<?php
$conn = mysqli_connect("127.0.0.1:9306", "", "", "");
if (mysqli_connect_errno())
die("failed to connect to Sphinx: " . mysqli_connect_error());
$res = mysqli_query($conn, "SHOW VARIABLES");
while ($row = mysqli_fetch_row($res))
print "$row[0]: $row[1]\n";
Sorun ve anlamadığım şey aslında şu; Sphinx'in bir veritabanı bir de bağlandığımız uygulaması var. Laravel -> Uygulama -> Veri tabanı olarak işlemleri istiyorlar. Direkt veri tabanından bir soru olarak değil. Bunu nasıl yapacağımı da tam anlamadım.
muharremozdemir Sunucuda çalışan bir Sphinx sunucusu var, 9306. portu dinliyor. Siz oraya PHP içindeki PDO ya da MySQLi ile bağlanıp SphinxQL formatında SQL sorguları yapıyorsunuz. MySQL'de de böyle, PostgreSQL'de de böyle, diğer veri tabanlarında da böyle. Sizin uygulama dediğiniz veri tabanı sunucusu, sizin arkadaki gerçek fiziksel dosya sistemiyle bir işiniz yok.
autocommit: 1 collation_connection: libc_ci query_log_format: plain log_level: info max_allowed_packet: 8388608 character_set_client: utf8 character_set_connection: utf8
Yukardaki kodda şöyle bir hata veriyor.
muharremozdemir Bilgim yok açıkçası. Ayrıca hata mesajına da benzemiyor, MySQL parametre listesine benziyor.