Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter events and results by data #195

Closed
3 tasks
NicolasMahe opened this issue Jun 5, 2018 · 3 comments
Closed
3 tasks

Filter events and results by data #195

NicolasMahe opened this issue Jun 5, 2018 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@NicolasMahe
Copy link
Member

NicolasMahe commented Jun 5, 2018

Enhance version of #23.

We should be able to filter events and results that services emit by values.

Let's make a list of operator to implement:

  • Equal
  • Contain
  • lower, lower or equal, greater, greater or equal
@NicolasMahe NicolasMahe added enhancement New feature or request application labels Jun 5, 2018
@antho1404 antho1404 added this to the v1.2.0 milestone Aug 16, 2018
@antho1404 antho1404 self-assigned this Aug 20, 2018
@NicolasMahe
Copy link
Member Author

We should make more research on this issue. We need a really efficient filtering system.

The core, once the network is ready, may have to filter thousands and thousands of events per sec

@antho1404
Copy link
Member

Also the goal with the network is to reverse this and instead of having many applications that listen and filter some events, have an event than can find all associated application that need this event with the filter applied.

We can easily implement this if we are based only on the event key with a query like service.all.where(listeners.contains(eventKey))

But it gets trickier when we want to search for the applications that matches a specific filter.

Example:
an application that needs to listen an event eventX that contains {foo: String, bar: String} with the filter foo=hello.

When an event {foo: "hello", bar: "world"} is coming we should be able to find the application without having to replay filters for all matching applications.

I'm pretty sure we can find a way to hash these filters if we only use the equal operator and get the matching applications for a specific event but if we add more complex operations gt, lt... i don't see how so maybe we should implement only the equal operator and do the other filter on the application side only

@antho1404 antho1404 removed this from the v1.2.0 milestone Sep 5, 2018
@NicolasMahe NicolasMahe changed the title Filter messages from services by data. Filter events and results by data Nov 27, 2018
@NicolasMahe
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants