SMF and Manticore

I am trying to advocate for official Manticore support by the SMF team. Following my comments a PR was created that would initially support Sphinx 3.x (until now the latest supported version was 2.2).

Maybe if anyone of you is interested you could test and/or contribute any code or make any remarks that would help to this end?

Hi @spido

Thanks for advocating for Manticore. I see my teammate has already commented in the issue.

You are welcome :slight_smile: Would be good if somebody could confirm whether the existing code for Sphinx would work on SMF (2 and 2.1) or whether some edits may be needed.

Do you mean the PR code or ?

I’ve scanned quickly through the latter and didn’t see obvious issues.

As for the PR there may be problem with version detection since it says:

		preg_match('~Sphinx (\d+)\.(\d+)~i', $raw_version, $m);		

which won’t work for Manticore. And it may be better in general not to parse indexer -v output, but run SHOW STATUS LIKE '%version%', but I’m not sure it works in Sphinx 3.0.

Otherwise the changes look good to me. Manticore and Sphinx 2/3 are still most identicaly for basic things that are used in SMF:

  • plain indexation
  • SELECT via mysql protocol

so even if there are little issues it shouldn’t be hard to solve them.

Thanks! Do you have any comparison (or suggestion) of performance of SELECT via mysql protocol of Manticore vis-à-vis latest Sphinx? I can see this, which is for older versions. (maybe fix a typo here “benchmark that on the datest of 11.6M user comments”)

We didn’t test the latest Sphinx vs Manticore yet. I’ve fixed the mistype, thanks!

I love Sphinx as a technology and appreciate the work Sphinx team did, that’s why we made Manticore as a fork from Sphinx’ latest available open source version back in 2017, but speaking about Sphinx 3 it’s:

  1. not open source
  2. and no reported bug was fixed since 2017

Sphinx’ focus seems to be to make it work for a single user - biggest classified website in Russia. Manticore’s focus is to make it work for much more different users and scenarios. Hence we don’t focus on benchmarking Manticore vs Sphinx, it’s like comparing apples and oranges - anyway it makes little sense to use Sphinx in any serious project: if you find a bug nobody is going to fix it and even if you want to do it yourself - you can’t since you don’t have the source.