

Techu - RESTful full-text searches with Sphinx, Redis, Nginx and Django - gpsarakis
http://georgepsarakis.github.io/techu-search-server/

======
arocks
An extremely informative and well-designed site. I wish all open source
projects had a section which explained why they chose the components that they
have chosen and a high level diagram of how the technology works.

~~~
pplante
I agree, this is really well designed. But it seems to lack an easy to access
link back to the github repo. It has a giant download link, but who wants to
download and manage versions when they can clone a repo?

~~~
gpsarakis
You are right, we corrected this.

------
midas
Why do you recommend easy_install (vs pip)? I have hardly any experience with
easy_install so I'm always curious when projects use it.

[http://stackoverflow.com/questions/3220404/why-use-pip-
over-...](http://stackoverflow.com/questions/3220404/why-use-pip-over-easy-
install)

------
electic
This could be very powerful if it gets:

Clustering & distributed indexing/searching

sphinx performance per node is amazing but it lacks clustering and if that
comes along it will put serious pressure on ElasticSearch.

------
julien_c
Project looks great. Great Github page too – is this a stock Github template?

~~~
gpsarakis
Thanks! It's a custom design. The designer's page is
<http://danaepanopoulou.com/>

~~~
peter_l_downs
It's really beautiful, thanks for the link!

------
Gigablah
For faceting, there's the fSphinx library:

<https://github.com/alexksikes/fSphinx>

~~~
gpsarakis
Thanks, I'll look further into that project.

------
hnewser1
Or, you know, just use elasticsearch.

~~~
gpsarakis
Sure, elasticsearch is absolutely great, no question on that. Nevertheless, a)
it requires running Java and configuring JVM, b) Sphinx full-text search
engine is really powerful, reliable and fast. So why not build a handy
interface around Sphinx also? There is always room for more open-source
software :).

~~~
cpleppert
Wouldn't this have a lot of moving parts as compared to Elasticsearch? Redis,
django, nginx, sphinx all have to be configured. Elasticsearch already has all
the feature you list as coming soon, and I imagine it would be very hard to
add transparent clustering to this setup.

~~~
gpsarakis
Seemingly yes. My most basic argument on that is that these components are
commonly found in modern server stacks, so chances are that you are already
using them, you know how to configure and setup. If I am already using Nginx &
Redis and Sphinx as a full-text search engine, why not have something to
facilitate the search in modern manner, almost out-of-the-box? As far as the
clustering part you are referring, I don't have an exact scenario on my mind
at the moment but I believe it can be done. Please keep in mind that this is
the very first beta version and hopefully with several contributions, it will
undergo many significant changes.

~~~
huxley
I notice that MySQL is being used, is that a hard dependency or can/will we be
able to use Postgres?

~~~
gpsarakis
In order to handle realtime indexes Sphinx requires using SphinxQL which in
turn uses MySQL client protocol. So you'll need the MySQL client package.
MySQL server is not strictly required and I am guessing can be replaced by
Postgres since Django models make the DB backend transparent to the developer.

