"Best" way for (partial) search in URIs (e.g. requests/referrer)?

You're right - the standard analyzer is wrong for your use case. You can see what the standard analyzer does on your URLs by using the _analyze API:

GET my_index/_analyze
{
  "analyzer": "standard",
  "text": [
    "/page/setDelete/905?sid=f5a4875f7ee771174f1df1",
    "/dashboard/dashboard/execute?sid=f5a4875f7ee771174f1df1&a_u=16432_79958"
  ]
}

The output shows you that for example setDelete and a_u=12345_6789 do not get broken up into separate tokens by the standard analyzer, preventing you from being able to search for just a_u=12345.

You'll need to create a custom analyzer to support your use case. The documentation has an example of a custom "camelcase" analyzer with a tokenizer that uses regular expressions to break up strings. That could be a good starting point for yours. Maybe something like this?

PUT my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "pattern",
          "pattern": "([^\\p{L}\\d=]+)|(?<=[\\p{L}&&[^\\p{Lu}]])(?=\\p{Lu})|(?<=\\p{Lu})(?=\\p{Lu}[\\p{L}&&[^\\p{Lu}]])"
        }
      }
    }
  }
}

GET my_index/_analyze
{
  "analyzer": "my_analyzer",
  "text": [
    "/page/setDelete/905?sid=f5a4875f7ee771174f1df1",
    "/dashboard/dashboard/execute?sid=f5a4875f7ee771174f1df1&a_u=16432_79958"
  ]
}

Keep in mind that you cannot change the analyzer for existing fields in your mapping. You'll have to add a new multifield to your mapping, or create a new index, with a mapping that uses your new custom analyzer.