blob: 50d4d8c8fb33569e5f20eb5471190b11df20132a [file] [log] [blame]
Copybara854996b2021-09-07 19:36:02 +00001[define category_css]css/ph_detail.css[end]
2[include "../framework/header.ezt" "hidetabs"]
3
4[# Note: No UI element permission checking needed on this page. ]
5
6<div id="searchtips">
7
8<h3>Basic issue search</h3>
9
10<p>In most cases you can find the issues that you want to work with
11very easily by using the issue list headers or by entering a few
12simple keywords into the main search field.</p>
13
14<p>Whenever you visit the "<a href="list">issue list</a>" in your
15project, you are presented with a table of all open issues, or the default
16query set up by the project owners. If you
17see too many results, you can quickly filter your results by clicking
18on the table headers and choosing a specific value from the "Show
19only:" submenu.</p>
20
21[# TODO screenshot ]
22
23<p>The main search field consists of two parts:</p>
24
25<ul>
26 <li>A drop-down selection of search scopes, e.g, "All issues" or just "Open issues".</li>
27 <li>A search text field where you can enter search terms.</li>
28</ul>
29
30[# TODO screenshot ]
31
32<p>In the text field, you may enter simple search terms, or add any of
33the search operators described below.</p>
34
35<p>You can also use the search text field to jump directly to any
36issue by entering its issue number. If you wish to search for issues
37that contain a number, rather than jumping to that issue, enclose the
38number in quotation marks.</p>
39
40<p>Behind the scenes, the search scope is simply an additional set of
41search terms that is automatically combined with the user's search
42terms to make a complete query. To see what search terms will be
43used for each scope, hover your mouse over the scope item.</p>
44
45
46<h3>Advanced issue search</h3>
47
48<p>The <a href="advsearch">Advanced Search</a> page helps you
49compose a complex query. The advanced search form breaks the search
50down into several popular criteria and allows you to specify each one
51easily. The search criteria boil down to the same thing as the search
52operators described below, but you don't need to remember the operator
53names.</p>
54
55
56
57<h3>Full-text search</h3>
58
59<p>As with Google web search, you can search for issues by simply
60entering a few words. However, you may get a few more results than
61you expected. When you need to search more precisely, you can use
62search operators for more power.</p>
63
64<form action="list" method="GET">
65 <p><input type="text" size="45" name="q" value="&quot;out of memory&quot;">
66 <input type="submit" name="btn" value="Search"></p>
67</form>
68
69<p>Full-text search terms can include quoted phrases, and words or
70phrases can be negated by using a leading minus sign. Please note
71that negated full-text terms are likely to give large result sets,
72so it is best to use structured search operators when possible.</p>
73
74
75<h3>Search operators</h3>
76
77<p>Normal search terms will match words found in any field of an
78issue. You can narrow the search to a specific field by using the
79name of the field. The built-in field operators are <tt>summary</tt>,
80<tt>description</tt>, <tt>comment</tt>, <tt>status</tt>, <tt>reporter</tt>,
81<tt>owner</tt>, <tt>cc</tt>, <tt>component</tt>, <tt>commentby</tt>,
82<tt>hotlist</tt>, <tt>ID</tt>, <tt>project</tt>,
83and <tt>label</tt>.</p>
84
85<p>Field names can be compared to a list of values using:</p>
86<ul>
87 <li>a colon (:) for word matching,</li>
88 <li>an equals sign (=) for full string matching,</li>
89 <li>a not equals sign (!=) or leading minus sign to negate, or</li>
90 <li>inequality operators (&lt;, &gt;, &lt;=, &gt;=) for numeric comparison.</li>
91</ul>
92
93<p>You can limit your search to just open issues by using
94is:open, or to just closed issues by using a minus sign to negate it:
95<tt>-is:open</tt>.</p>
96[# TODO(jrobbins): dateopened:]
97
98<p>For example, here's how to search for issues with the word
99"calculation" in the summary field.</p>
100
101<form action="list" method="GET">
102 <p><input type="text" size="45" name="q" value="summary:calculation">
103 <input type="submit" name="btn" value="Search"></p>
104</form>
105
106<p>When searching for issues owned by a specific user, you can use their
107email address, or part of it. When referring to yourself, you can also
108 use the special term <tt>me</tt>. For example, this restricts the search to
109issues that are owned by you.</p>
110
111<form action="list" method="GET">
112 <p><input type="text" size="45" name="q" value="owner:user@chromium.org">
113 <input type="submit" name="btn" value="Search">
114</form>
115
116<form action="list" method="GET">
117 <p><input type="text" size="45" name="q" value="owner:me">
118 <input type="submit" name="btn" [if-any logged_in_user][else]disabled=disabled[end] value="Search">
119 [if-any logged_in_user][else]
120 <span style="white-space:nowrap"><a href="[login_url]"
121 >Sign in</a> to try this example</span>
122 [end]</p>
123</form>
124
125<p>Rather than have a large number of predefined fields, our issue
126tracker stores many issue details as labels.</p>
127
128<p>For example, if you labeled security-related issues with the label
129<tt>Security</tt>, here's how to search for them.</p>
130
131<form action="list" method="GET">
132 <p><input type="text" size="45" name="q" value="label:security">
133 <input type="submit" name="btn" value="Search"></p>
134</form>
135
136
137<p>In addition to simple one-word labels, you can use two part labels
138that specify an attribute and a value, like <tt>Priority-High</tt>,
139<tt>Priority-Medium</tt>, and <tt>Priority-Low</tt>. You can search for
140these with the <tt>label</tt> operator, or you can use the first part of the
141label name like an operator.</p>
142
143<p>For example, if you labeled high priority issues with
144<tt>Priority-High</tt>, here's one way to search for them.</p>
145
146<form action="list" method="GET">
147 <p><input type="text" size="45" name="q" value="label:Priority-High">
148 <input type="submit" name="btn" value="Search"></p>
149</form>
150
151<p>And, here is a more compact way to do the same search.</p>
152
153<form action="list" method="GET">
154 <p><input type="text" size="45" name="q" value="Priority:High">
155 <input type="submit" name="btn" value="Search"></p>
156</form>
157
158<p>For the <tt>components</tt> operator, the default search will find
159issues in that component and all of its subcomponents.</p>
160
161<form action="list" method="GET">
162 <p><input type="text" size="45" name="q" value="component:UI">
163 <input type="submit" name="btn" value="Search"></p>
164</form>
165
166<p>And of course, you can combine any of these field operators.</p>
167
168<form action="list" method="GET">
169 <p><input type="text" size="45" name="q"
170 value="status!=New owner:me component:UI">
171 <input type="submit" name="btn" value="Search"></p>
172</form>
173
174<p>You can search for issues in the current project that are also on a user's
175hotlist.</p>
176
177<form action="list" method="GET">
178 <p><input type="text" size="45" name="q"
179 value="hostlist=username@domain:hotlistname">
180 <input type="submit" name="btn" value="Search"></p>
181</form>
182
183
184<h3>Empty (or non-empty) field search</h3>
185
186<p>For each built-in field operator, you can use the <tt>has</tt>
187operator to search for issues with empty or non-empty fields. The
188<tt>has</tt> operator can be used with status, owner, cc, component,
189attachments, blocking, blockedon, mergedinto, any key-value label prefix, or
190any custom field name.</p>
191
192<p>For example, here's how to search for issues that have one or more
193components.</p>
194
195<form action="list" method="GET">
196 <p><input type="text" size="45" name="q" value="has:component">
197 <input type="submit" name="btn" value="Search">
198</form>
199
200<p>Or, you can use the <tt>-has</tt> operator for negation, to search for
201issues with empty fields.</p>
202
203<p>For example, here's how to search for issues that are not associated with
204any component.</p>
205
206<form action="list" method="GET">
207 <p><input type="text" size="45" name="q" value="-has:component">
208 <input type="submit" name="btn" value="Search">
209</form>
210
211
212<h3>Multiple values in search terms</h3>
213
214<p>You can search for two values for one field, or two labels
215with the same prefix by using.</p>
216
217<form action="list" method="GET">
218 <p><input type="text" size="45" name="q" value="Priority:High,Medium">
219 <input type="submit" name="btn" value="Search"></p>
220</form>
221
222
223<p>You can combine two separate queries into one using the <tt>OR</tt> operator.</p>
224
225<form action="list" method="GET">
226 <p><input type="text" size="45" name="q" value="Priority:High OR -has:owner">
227 <input type="submit" name="btn" value="Search"></p>
228</form>
229
230
231<p>You can create more complex <tt>OR</tt> queries using parentheses nesting to
232distribute search terms across <tt>OR</tt> clauses. A search query may contain as
233many sets of parentheses and levels of parentheses nesting as needed.</p>
234
235<form action="list" method="GET">
236 <p><input type="text" size="45" name="q" value="Pri:0,1 (status:Untriaged OR -has:owner)">
237 <input type="submit" name="btn" value="Search"></p>
238</form>
239
240
241<h3>Exact value search</h3>
242
243<p>You can search for issues that exactly match the given term by using
244the search operator <tt>=</tt>.</p>
245
246<p>For example, searching for <tt>Milestone=2009</tt> only matches issues with the
247label <tt>Milestone-2009</tt>, while searching for <tt>Milestone:2009</tt> matches
248issues with the labels <tt>Milestone-2009</tt>, <tt>Milestone-2009-Q1</tt>, <tt>Milestone-2009-Q3</tt>,
249etc.</p>
250
251<form action="list" method="GET">
252 <p><input type="text" size="45" name="q" value="Milestone=2009">
253 <input type="submit" name="btn" value="Search"></p>
254</form>
255
256<p>Similarly, using exact matching on components will get you only those issues
257that are in that component, not including any of its descendants.</p>
258
259<form action="list" method="GET">
260 <p><input type="text" size="45" name="q" value="component=UI">
261 <input type="submit" name="btn" value="Search"></p>
262</form>
263
264<h3>Star search</h3>
265
266<p>Any logged in user can mark any issue with a star. The star
267indicates interest in the issue.</p>
268
269<p>For example, to quickly see all the issues in this project that you
270have starred, you could use the following:</p>
271
272<form action="list" method="GET">
273 <p><input type="text" size="45" name="q" value="is:starred">
274 <input type="submit" name="btn" [if-any logged_in_user][else]disabled="disabled"[end] value="Search">
275 [if-any logged_in_user][else]
276 <span style="white-space:nowrap"><a href="[login_url]"
277 >Sign in</a> to try this example</span>
278 [end]</p>
279</form>
280
281<p>And, to see the issues that more than ten users have starred, use the following:</p>
282
283<form action="list" method="GET">
284 <p><input type="text" size="45" name="q" value="stars>10">
285 <input type="submit" name="btn" value="Search"></p>
286</form>
287
288
289<h3>Jump to issue and numeric search</h3>
290
291<p>You can jump directly to a specific issue by entering its ID in the
292search field.</p>
293
294<p>For example, to jump to issue 1, just search for 1. If there is no
295existing issue with that ID, the system will search for issues that
296contain that number anywhere in the issue.</p>
297
298<form action="list" method="GET">
299 <p><input type="text" size="45" name="q" value="1">
300 <input type="submit" name="btn" value="Search"></p>
301</form>
302
303<p>If you just want to search for issues that contain the number 1, without
304jumping to issue 1, enclose the number in quotation marks.</p>
305
306<form action="list" method="GET">
307 <p><input type="text" size="45" name="q" value="&quot;1&quot;">
308 <input type="submit" name="btn" value="Search"></p>
309</form>
310
311<p>Searching for a list of specific issue IDs is one way to
312communicate a set of issues to someone that you are working with. Be
313sure to set the search scope to "All issues" if the issues might be
314closed.</p>
315
316<form action="list" method="GET">
317 <p><input type="text" size="45" name="q" value="ID=1,2,3,4">
318 <input type="hidden" name="can" value="1">
319 <input type="submit" name="btn" value="Search"></p>
320</form>
321
322
323<h3>Attachment search</h3>
324
325<p>Users can attach files to any issues, either when issues are created or as
326part of issue comments.</p>
327
328<p>To quickly see all the issues that have attachments, use the following:</p>
329
330<form action="list" method="GET">
331 <p><input type="text" size="45" name="q" value="has:attachments">
332 <input type="submit" name="btn" value="Search"></p>
333</form>
334
335<p>Or, you can search for a specific filename of the attachment.</p>
336
337<form action="list" method="GET">
338 <p><input type="text" size="45" name="q" value="attachment:screenshot">
339 <input type="submit" name="btn" value="Search"></p>
340</form>
341
342<p>You can also search for the file extension of the attachment.</p>
343
344<form action="list" method="GET">
345 <p><input type="text" size="45" name="q" value="attachment:png">
346 <input type="submit" name="btn" value="Search"></p>
347</form>
348
349
350<p>You can also search for issues with a certain number of attachments.</p>
351
352<form action="list" method="GET">
353 <p><input type="text" size="45" name="q" value="attachments>10">
354 <input type="submit" name="btn" value="Search"></p>
355</form>
356
357
358<h3>Date range search</h3>
359
360<p>You can perform searches based on date ranges.</p>
361
362<p>This search syntax is divided into two parts, the action and the date,
363[[]action]:[[]date]</p>
364
365<p>Built-in date operators include <tt>opened</tt>,
366<tt>modified</tt>, and <tt>closed</tt>. Each can be paired with an
367inequality operator <tt>&lt</tt> or <tt>&gt</tt>. The date must to be
368specified as YYYY-MM-DD, YYYY/MM/DD or today-N.</p>
369
370<p>For example, if you want to search for issues opened after 2009/4/1, you
371could do the following:</p>
372
373<form action="list" method="GET">
374 <p><input type="text" size="45" name="q" value="opened>2009/4/1">
375 <input type="submit" name="btn" value="Search"></p>
376</form>
377
378<p>Or, if you want to search for issues modified 20 days before today's date,
379you could do the following:</p>
380
381<form action="list" method="GET">
382 <p><input type="text" size="45" name="q" value="modified<today-20">
383 <input type="submit" name="btn" value="Search"></p>
384</form>
385
386<p>You can search for issues that had specific fields modified
387recently by using ownermodified:, statusmodified:, componentmodified:.
388For example:</p>
389
390<form action="list" method="GET">
391 <p><input type="text" size="45" name="q" value="ownermodified>today-20">
392 <input type="submit" name="btn" value="Search"></p>
393</form>
394
395
396</div>
397
398[include "../framework/footer.ezt"]