Sphinx search engine

Yii has a sophisticated active record API for the Sphinx search engine.

Are you involved in actively developing or planning new projects using Sphinx?

If so, which version of Sphinx or Manticore are you using or planning to use?

Used latest Sphinx version about half a year ago. Still beats ElasticSearch in terms of performance, resource consumption and non-English search precision.

Haven’t used Manticore and see no reason why should I.

@samdark do you know what version you used?

  • The Debian package hasn’t updated since 2.2.11 (2016).
  • The 2.3 branches never made it to release.
  • The 3.0 and 3.1 branches are available only as binary.

I’m still on 2.2.11 which doesn’t even have the thread pool MPM.

I’m very interested in what you said about “non-English search precision”. Can you elaborate?

I have found Sphinx charset_table quite hard to configure. It operates on Unicode code points so I can only approximate Unicode-style collation for matching. And I have to manage normalization in PHP.

I haven’t used ES yet but we’re finally experimenting with it in the real app. Things I find appealing:

  • Automatic cluster management (sharding they call it). With Sphinx we have to do that in our app and it’s been a lot of work and a source of unreliability in production.
  • Combining and ranking search results from multiple indexes in the SE rather than in PHP.
  • Document store. Sphinx 3 has this but I haven’t tried it yet.

I agree that Sphinx is fast and resource efficient.

It was from 3.1 binaries but, honestly, old sphinxsearch could’ve been used as well. No new features were involved and it was small-scale pet project.

I’ve meant lemmatizer that is implemented out of the box for English, Russian, and German. It’s not implemented in ElasticSearch and while their docs claim that stemming is good enough, it works worse.

ES has its pros. From your list I’ve tried cluster management and document store. Both work well.

Very interesting. My app has no use for stemming so I’ve no experience with it.