5 ms·
> What are your main use cases for search Camera and camera lens names. I tried mellisearch (1-2 years ago), and while I loved the simplicity (I barely underst
by Semaphor 1y ago
> What are your main use cases for search
Camera and camera lens names. I tried mellisearch (1-2 years ago), and while I loved the simplicity (I barely understand what I threw together with many, many lines of C# code for elastic search; this is partially on ES, but clearly on me as well), it was not good at getting results.
Names like "Lumix DC-S1IIE", "DSC-RX100 VIIA", or "FE 50-150 mm F2 GM (SEL50150GM)" do not quite work with default tokenizers and analyzers. Of course that is for product names, for full text queries still need to use normal language rules… except for product names showing up in the text, so now I need multiple indexes for every field, and searching different sub-fields sometimes with different query analyzers.
It was a lot of trial and error getting ES to both find what was searched for, but also be typo tolerant. It’s very easy getting far too many results, and bad scoring for fuzzy queries.
So a bit of a special case, but something the customization capabilities of ES support pretty well.
Luckily, our dataset is rather small, maybe 100k documents, so scalability is not a problem.
- snikolaev 1y agoThanks for sharing! What sets Manticore apart from Meilisearch and Elasticsearch is that it lets you configure tokenization at a low level by: - choosing which characters should be treated as token characters, and using the rest as token separators - defining "blend chars" — for example, the hyphen (-) could make sense as both a separator and a non-separator in your case - or optionally adding it to the ignore_chars list - there's also regexp_filter to process tokens when indexing and searching That said, setting things like this up perfectly is always tricky with any search engine, because the words and punctuation in real data often don't follow regular patterns. It's especially difficult when you want to find "abc def" by "ab cd ef" which may be a common situation in your case.