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
20.13k stars 578 forks source link

Update document in sonic #292

Open amirEBD opened 2 years ago

amirEBD commented 2 years ago

Hi again @valeriansaliou , Thanks for your quick and well answering. I was looking for update command in sonic. The requirment I face is a messanger's search system. As you know one of key features is that user will update his/her message and we need to update the queried message. I know that sonic has ingest and flush commands but the point is how can make an update on the message?

Note: Delete and recreate the message won't work probabley because messages have timestamp. As a primary need, the messages found by search engine should be in order thus recreating won't be a accurate solution.

valeriansaliou commented 2 years ago

You need to POP then PUSH again.

amirEBD commented 2 years ago

So what is your solution for messages order by time?

valeriansaliou commented 2 years ago

The results ordered is defined by push date + time, there's no other way around.

amirEBD commented 2 years ago

Thanks for your suggestion, But I didn't get it completley, what do you mean about time? cause there is no timestamp field in sonic. Do you mean the time which is stored in the other database (the db containing the data)?

PS.: As to my knowledge about sonic it'll just return items by the push date