• This is going to be fairly complex... and long... but the gist is that our search is now far more complex and powerful than anything we've had before, and as the saying goes, "With great power comes great confusion.".

    We used to have an "advanced search" on vBulletin. But that was pretty much a lie, there was nothing advanced about it. If you searched for "bottom brackets" then it wouldn't find you a "bottom bracket" (no plural)... but it would comfort you by giving you a few options... via 5 different search forms (one for profiles, one for posts and threads, one for "in this thread", one for PMs from/to someone, one for things in PMs).

    On Microcosm there is only one search form.

    One search form to rule them all, one search form to find them,
    One search form to bring them all and in the darkness bind them.

    Something like that, and this is the guide to search.

    Our search is like Gmail search, or Google search. One form, in which you put your search query.

    If you want to filter, or sort things... you type in key:value pairs to do whatever you want.

    Every key:value pair can also be a querystring... so you can bookmark this stuff (again... vBulletin couldn't do this very well).

    The most basic search is a text search:

    sks bottom bracket

    And you can do you #hashtag searches using this too, but note that in the URL you need to escape the #:

    #hashtags

    Cool... that's the basic stuff: You can search for text.

    Now the more complex stuff... you can add key:value pairs to the search and either find stuff that matches that type, or if you've provided some query you filter by that type.

    Examples:

    type:conversation

    car appreciation type:conversation

    The first is going to find all conversations, and the latter is only going to find conversations that feature the words "car appreciation".

    You can specify more than one type at a time.

    ice cream type:conversation type:event

    Great... all events and conversations that contain the words ice cream. But... WTF? Comments too?

    Unless you tell the system otherwise, it's currently searching comments that belong to conversations and events, in addition to the conversations and events. We might be interested in that, but we may not... we can restrict the keywords to just the title.

    ice cream type:conversation type:event inTitle:true

    Wonderful! Sweet sweet ice cream found.

    But what if there are a lot of results and you want the most recent on top?

    ice cream type:conversation type:event
    inTitle:true sort:date

    Now it's sorted by date, the most recently modified item is at the top.

    Great so now they're sorted using sort:date, but another angle... let's get those comments back (by removing the inTitle:true) and just find the comments that @Howard has made about ice cream. He loves ice cream.

    ice cream type:conversation type:event
    sort:date authorId:59083

    Now we have every comment, by @Howard on about ice cream, in every conversation or event that he's mentioned ice cream, sorted by the most recent date.

    Another key:value that is available is following:true. Which will only return the stuff you're following. So if you happen to be into planes and have following the conversation about planes then the quickest way to get to the conversation might be:

    planes following:true

    Or you might be interested in Bob Jackson's for sale, so it makes sense to restrict the search for Bob Jackson's to the titles of things in the Complete Bikes and Frames forum and to sort them by date (most recently modified is always first).

    Bob Jackson inTitle:true forumId:548 sort:date

    That's a load of bikes. But maybe we only really want adverts in the last year as those are the only ones you're likely to get a lead on?

    Bob Jackson inTitle:true forumId:548 sort:date since:365

    The since value is the number of days in the past... so 365 gives us a year.

    But we can play with that... maybe we want to use search to get a "Today" view of the forum?

    type:conversation type:event type:profile type:huddle since:1

    That's every conversation, event, profile and private message that you're allowed to see that has been modified in the past 1 day... i.e. today.

    Note that searches only show you what you're allowed to see, so you can search for private messages and will only ever see the ones you're allowed to see.

    What have I missed? Search within conversation!

    sweet type:comment type:conversation id:253146

    And of course you can add author to that mix:

    sweet type:comment type:conversation id:253146 authorId:47686

    Which now finds all comments that contain the word "sweet" within conversations that have the id of 253146 and in which the comments are authored by 47686 (me).

    The list of keys you can use:

    • inTitle: true = only search for search words within the title. This makes no sense if you aren't using search words.
    • forumId: a number, has to be the id of a forum (visible in URLs to forums)
    • type: a string... can only be one of conversation, event, microcosm (meaning forum), profile, comment, huddle (meaning private message). You can provide more than one type in a query
    • id: a number, has to be the id of something, only makes sense when you have added some type
    • authorId: a number, the id of a profile
    • following: true = only find things you are following
    • since: a number, the number of days in the past you want to restrict this search to, -1 = since yesterday, -365 = since last year. You can also use a date in ISO format such as 2014-01-01 for all things since 1st Jan 2014
    • until: a number, the number of days in the past you want to restrict this search to, but greater than since... helps find posts made between 1 year and 6 months ago, -1 = until yesterday, -365 = until last year. You can also use a date in ISO format such as 2014-01-01 for all things before 1st Jan 2014
    • sort: allows you to order the search word based queries by date, sort:date is the only valid value for general searches, and this only makes sense when you are searching by search words as it will sort by relevancy by default. If you are only searching one type and that is type=event then you also have the option to sort:oldest or sort:newest... those will order the events by oldest first or newest first
    • eventAfter: If you are only searching one type and that is type=event then this allows you to only show events happening after a given date. This can be a number relative to now, in days, i.e. 1 = after tomorrow, -7 = after a week ago, or it can be a specific date in ISO format: 2014-08-01 for events after the 1st August 2014
    • eventBefore: If you are only searching one type and that is type=event then this allows you to only show events happening before a given date. This can be a number relative to now, in days, i.e. 1 = before tomorrow, -7 = before a week ago, or it can be a specific date in ISO format: 2014-08-01 for events before the 1st August 2014
    • has:attachment: Will only show comments that have attachments.
  • sweet type:comment type:conversation id:253146 authorId:47686

    I tried to run this search and no results found

    also tried
    banned type:comment type:conversation id:253146 authorId:47686

    and still no results came up

    what am i missing to get the search function to work?

    also tried

    tree type:comment type:conversation id:172777

About