Skip to content

Implement strict search and other useful search operators #138

@evamaxfield

Description

@evamaxfield

I would love this for the general event search too so I am going to work on that problem right now.

Originally posted by @JacksonMaxfield in #137 (comment)

I would love this for the general event search too so I am going to work on that problem right now.

Pausing for a bit on this because I think alg is somewhat hard.... in psuedocode it's something like:

query = 'hello world testing "strict part a" "strict part b'
// some func to get to query parts
queryParts = ["hello", "world", "testing", '"strict part a"', '"strict part b"']
// some func to move to ngrams for non strict parts
ngramSearches = ["hello", "hello world", "hello world testing", "world", "world testing", "testing"]
// some func to move to just strict parts
strictSearches = ["strict part a", "strict part b"]
// some func to clean and stem both
cleanedNGramSearches = ["hello", "hello world", "hello world test", "world", "world test", "test"]
cleanedStrictSearches = ["strict part a", "strict part b"]
// run queries for the strict searches first
// run queries for the grams like how we are currently doing it but filtered by events that matched the strict results first??? (which means really all these results are doing are adding weighting to events which is fine)
// merge to unified event gram results

But that leaves interesting questions like how do we handle AND and OR. Need to look to google for how they are doing it basically imo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions