valeriansaliou / sonic

🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
https://crates.io/crates/sonic-server
Mozilla Public License 2.0
19.63k stars 560 forks source link

Enhancement WordPress plugin for sonic search needed #279

Open osevan opened 2 years ago

osevan commented 2 years ago

To deploy sonic on WordPress and making sonic using for larger communitys, we need WordPress plugin.

https://webdesign.tutsplus.com/tutorials/create-a-custom-wordpress-plugin-from-scratch--net-2668

https://www.smashingmagazine.com/2011/09/how-to-create-a-wordpress-plugin/

Thanks and

Best regards

OllieJones commented 1 year ago

Still any interest in WP Super Sonic Search (or whatever) name? Anybody still want a Sonic search plugin for WordPress? I'm taking a look at creating it. If I do create it, it will be GPL, to play nice with the WordPress.org plugins repository.

= My thoughts on this plugin. =

I imagine this to be a drop-in replacement for WordPress's rudimentary ( WHERE post_content LIKE '%Valerian%') built-in search capability, with the addition of autocompletion on the search form field via REST and the jQueryUI "autocomplete" widget. The plugin will send search terms to Sonic's search channel, then retrieve and format the results just like inbuilt search does.

It will need ingestion support, both at initial deployment when content is inserted, updated, or deleted.

It needs all the WordPress plugin stuff to support the plugin lifecycle. And it needs a WordPress dashboard panel to configure access to the Sonic server, and do things like flush and re-ingest everything (hopefully won't be necessary in production.)

According to the specs of psonic it needs php 7+. That may be OK considering the site owner needs to be able to install Sonic. But requiring 7+ is a disaster for plugins wanting broad adoption on budget hosting services. php 5.6 would be better. (My IDE refactors language constructs, so there's no big penalty).

Are there other requirements? Please let me know. I'll post a link to the work-in-progress repo as soon as I have it.

valeriansaliou commented 1 year ago

@OllieJones Thank you for planning to build this! Definite must-have on large WP websites, as I know how poor SQL servers tend to behave regarding search latency and relevance on large databases.

OllieJones commented 1 year ago

For the typical WordPress site owner it will be very helpful to have a .deb installer so sudo apt install sonic-search or something similar will work. Is anybody working on that?

valeriansaliou commented 1 year ago

I've got a build process based on GH Actions already figured from another Rust project of mine here:

Although note that Sonic cannot be built w/ MUSL just yet (statically linked), and depends on glibc, which availlable versions vary amongst different Debian versions. Meaning, the package for buster would be different than bullseye.

OllieJones commented 1 year ago

The WordPress plugin repo is here. https://github.com/OllieJones/sss It has nothing in it but a skeleton without flesh as of late October 2022. Development to come.