lnx-search / lnx

⚡ Insanely fast, 🌟 Feature-rich searching. lnx is the adaptable, typo tollerant deployment of the tantivy search engine.
https://lnx.rs
MIT License
1.25k stars 46 forks source link

Filtering? #141

Open aradalvand opened 1 year ago

aradalvand commented 1 year ago

Hey there. Doesn't lnx have a filtering feature? I couldn't find any relevant info in the docs/README, and there also doesn't seem to be an issue about this. By filtering I mean being able to narrow down search results based on the value of specific properties (e.g. averageRating > 4, etc.). Meilisearch, Typesense, and so on all do provide some filtering capabilities.

ChillFish8 commented 1 year ago

Hello 👋 Sorry for the long response, been pretty busy.

The filtering is combined into the query system, you can use the normal query parser to build a filter query letting you do:

my_field:[1234 TO 75235], etc... For range queries, etc... See https://docs.rs/tantivy/0.19.2/tantivy/query/struct.QueryParser.html for the full query syntax

Hades32 commented 6 months ago

@ChillFish8 this seems to be recurring issue. Understanding the Lnx search syntax by looking at https://docs.lnx.rs/#tag/Run-searches/operation/Search_Index_indexes__index__search_post or even the Rust docs is basically impossible for mere mortals.

How about you'd add an example for each feature? That would be extremely helpful

ChillFish8 commented 6 months ago

@Hades32 I agree, although I am currently overhauling the existing rest API so it is easier to use, so I will target adding examples for that. Hopefully that should be ready some time next week :)