Wildcard search

Hello,

Is there any (easy) way I could get a wildcard search function working on my discourse?

I run a small closed discourse locally at work. It only has ~10 users so we are not talking post amount like a large community.

I saw this Algolia plugin wich seams like a perfect thing, BUT that means they need to index the forum and we can’t let that data leave the local network.

I want to find stuff like “DE322X” when I search for “322X” :slight_smile:

3 Likes

There might be a couple of ways to do this using our Discourse Data Explorer Plugin.

  • You could run this simple query and then click the CSV button to download all posts. Then, you could search across the exported file using a different program.

    `SELECT id, raw from posts`
    

  • You could write a custom data explorer query to search for the keyword across all post content.

Using the Data Explorer here would ensure that your data doesn’t leave the local network.

3 Likes

Thanks, I will save this for later. Might come in handly :slight_smile:
But for this I need the whole team to be able to search stuff and would be a real hassle if everyone needed to dump a CSV file every time to find what they need :confused:

1 Like

Sure, then writing a custom query and seeing the results in the UI would be the way to go. See What cool data explorer queries have you come up with? for inspiration on writing queries.

2 Likes

On a small enough site something like this could work:

-- [params]
-- string :query

SELECT p.id AS post_id, 
       p.user_id
FROM posts p
WHERE p.raw ~* :query
  AND p.deleted_at IS NULL

Though you could maybe add a specific category or date range if you wanted to limit it further.

Once written, you can make it available to certain groups to use:


Though I appreciate it working from the Search bar is ideally what the OP is after. :slight_smile: I’ll slide this over to feature in case there’s more demand for it.