How to search effectively for information on MMA Syntax such as “_?” [duplicate]

This question already has an answer here:

In another question here, I saw this

poincareMetric[u_?VectorQ, v_?VectorQ] := ...

Whilst I am familiar with the syntax label_Type, e.g. x_Real, I had not seen this form, but when I tried to search the MMA documentation I found that searching for _? returned no results and neither _ or ? on their own suggested to me a clear meaning for _? - especially since I would have written u_List for u_?VectorQ

So,

1/ What does _? actually mean, and

2/ What is this function definition doing that would not be done by e.g. u_List?

but most importantly,

3/ How does one search for help on such terse syntactic constructions effectively? (So as not to ask almost trivial questions here)

marked as duplicate by Szabolcs, C. E., user31159, Feyre, Community♦Oct 29 '16 at 11:58

• Almost all of these can be found by a documentation search. Your only mistake is assuming that _? is a single unit. It's _ and ? separately. You can search for both. – Szabolcs Oct 29 '16 at 8:59
• Searching for ? produces precisely three results. It has two uses in Mathematica syntax and one in regular expressions. Go to Help -> Wolfram Documentation, type ? and hit Enter. Use the builtin documentation, not Google or the Wolfram website. – Szabolcs Oct 29 '16 at 9:22