<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
<title>Searching help</title>
</head>
<body>

<h2>Searching help</h2>

<p>
The help system includes a search engine that can run simple or complex queries
on the documentation to help you find the information you are looking for.
</p>

<p>
To search help:
</p>

<ol>
  <li>From the main menu, select <strong>Help &gt; Search</strong></li>
  <li>Type in the word or phrase for which you want to search</li>
  <li>Click <strong>GO</strong> or press Enter. The list of results will be
    displayed below</li>
  <li>To view the content of a topic in the list of results, click on it</li>
</ol>

<p>
Alternatively, you can search from the Help window using the <em>Search</em>
field at the top of the window.
</p>

<h3>Refining the search results in the help view</h3>

<p>
If the search yields too many results, the information you are looking for may
not appear in the top 10 or 15 results. You can then refine the search to reduce
the number of results.
</p>

<p>
To refine a search:
</p>

<ol>
  <li>Click the <strong>Search Scope</strong> link. to expand search scope
    section</li>
  <li>Click on the <strong>Advanced Settings</strong> link. The Search Scope
    preference dialog will open</li>
  <li>Select <strong>Local Help</strong> from the list</li>
  <li>Select the <strong>Search only the following topics</strong> button to
    narrow down the search scope</li>
  <li>In the working set content tree, select the topics to which you want to
    narrow the search</li>
  <li>Click <strong>OK</strong> to activate the changes and return to search
    page in the Help view</li>
  <li>Click <strong>GO</strong> again. The new list of results will appear</li>
</ol>

<p>Changing the appearance of the results</p>
<p>Two buttons on the toolbar can be used to change the way results are 
displayed. The <img border="0" src="../images/showcat_co.png"
alt="Show result categories" > <b>Show result categories</b> button,
when pressed, will cause the results to be grouped by book. The 
<img border="0" src="../images/showdesc_co.png" alt="Show result descriptions" > 
<b>Show result descriptions</b> button, when pressed, causes descriptions to show. </p>

<h3>Highlighting Search Terms</h3>

<p>
By default, when a search result is selected, the search terms that were used
to find the document will be highlighted. By using the <img
src="../images/help_icon_highlight.png" alt="Highlight Search Terms" border="0">
<b>Highlight Search Terms</b> toolbar button, you can toggle this feature on and
off. This button is available in both the help window and the help view and each
will remember the state of the button for displaying subsequent search results.
</p>

<h3>Query syntax</h3>

<p>
Follow the following search expression rules for searching local help content:
</p>

<ul>
  <li>Unless otherwise stated, there is an implied AND between all search terms. 
    In other words, topics that contain all the search terms will be returned. 
    For example: 
    <pre>Java project</pre>
    <p>returns topics that contain the word <i>Java</i> and the word <i>project</i>, 
      but does not return topics that contain only one of these words.</p></li>
  <li>Use OR before optional terms . For example: 
    <pre>applet OR application</pre>
    <p>returns topics that contain the word <i>applet</i> or the word <i>application</i> 
      (or both).</p></li>
  <li>Use NOT before terms you want to exclude from search results. For example: 
    <pre>servlet NOT ejb</pre>  
    <p>returns topics that contain the word <i>servlet</i> and do not contain 
      the word <i>ejb</i>. <b>Note:</b> NOT only works as a binary operator (that 
      is, &quot;NOT servlet&quot; is not a valid expression).</p></li>
  <li>Use ? for a single-character wildcard and * for a multi-character wildcard. 
    For example: 
    <pre>par?</pre>
    <p>returns topics that contain <i>part</i> or <i>park</i>, but not <i> participate</i>. 
      On the other hand:</p>
    <pre>par*</pre>
    <p>returns topics that contain <i>part</i>, <i>park</i>, <i>participate</i>,
      <i>pardon</i>, and so on. <b>Note:</b> The search engine does not accept
      terms with a wild card at first character position.</p></li>
  <li>Use double quotation marks around terms you want treated as a phrase. For 
    example: 
    <pre>&quot;creating projects&quot;</pre>
    <p>returns topics that contain the entire phrase <i>creating projects</i>.
       Topics where the words <i>creating</i> and <i>projects</i> are not consecutive are not returned.</p></li>
  <li>Punctuation acts as term delimiters. For example:
    <pre>plugin.xml</pre>
    <p>returns hits on topics that contain <i>plugin</i> and 
      <i>xml</i>, which is likely broader than you want. If you want to find just 
      those topics containing <i>plugin.xml</i>, use double quotes, as in:</p>
    <pre>&quot;plugin.xml&quot;</pre></li>
  <li>The search engine ignores character case. For example: 
    <pre>Workbench</pre>
    <p>returns topics that contain 'workbench', 'Workbench', 'WorkBench', and 
      'WORKBENCH'.</p></li>
  <li>The following stop words are common English words which will be ignored 
    (not searched for) if they appear in the search expression: a, and, are, as, 
    at, be, but, by, in, into, is, it, no, not, of, on, or, s, such, t, that, 
    the, their, then, there, these, they, to, was, will, with.</li>
  <li>The search engine does &quot;fuzzy&quot; searches and word stemming. If 
    you enter <i>create</i>, it will return hits on topics that contain <i>creates</i>, 
    <i>creating</i>, <i>creator</i>, and so on.  To prevent search engine from stemming
    terms, enclose them in double quotes.</li>
</ul>

<h3>Extending the search scope</h3>

<p>If you cannot locate information in the local help, you can extend search
  scope to remote info-center or search engines.</p>
<p>To enable search engines: </p>
<ol>
  <li>Click the <b>Search Scope </b> link. to expand search scope section. The
    list of search engine is displayed.</li>
  <li> Select the ones that contain information you are looking for.</li>
</ol>
<p>In addition to search engines provided, you may define additional search engines.</p>
<p>To define a new search engine: </p>
<ol>
  <li>Click the <b>Search Scope </b> link. to expand search scope section. </li>
  <li>Click the <b>Advanced Settings</b> link. Search Scope preference dialog
    opens.</li>
  <li>Click <b>New</b>.</li>
  <li>Select the search engine type.</li>
  <li>Click <strong>OK</strong>.</li>
  <li>Provide a name and a description</li>
  <li>Select engine specific settings and scope below. For the remote search
    engines, accessed using URL, fill in a full URL to query the engine. Use <code>{expression}</code> in
    the place of search expression.</li>
</ol>

<h3>Defining multiple search scopes</h3>

<p>By default, changing search scope modifies the search scope named &quot;default&quot;.
  You can define multiple search scope. They will be saved, allowing to quickly
  change search scope to one of them.</p>
<p>To define a new search scope:</p>
<ol>
  <li>Click the current search scope name, beside the <b>Search Scope </b> link.
    .Search Scope Sets dialog appears.</li>
  <li>Click <strong>New</strong>.</li>
  <li>Type a name, and confirm.</li>
  <li>Select the newly created search scope.</li>
  <li>Click <strong>OK</strong>. The new search scope becomes current.</li>
</ol>
<p>Changes to the search scope affect current search scope.</p>

<h3>Search index generation</h3>

<p>The first time you search the online help, the help system might initiate
  an  index-generation process. This process builds the indexes for the search
  engine 
to use. It may take several minutes, depending on the amount of documentation
  and whether prebuilt indexes are installed. Results of the search will be available
  upon completion of the indexing process.</p>

<p>Each time you add or modify the documentation set (for example, when you install 
a new feature or update an existing one), the index will be updated to reflect 
the new information set.
</p>

<p>
<img border="0" src="../images/ngrelc.png" alt="Related concepts" width="159" height="27"><br>
<a href="../concepts/help.htm">Help</a><br>
<a href="../concepts/help_view.htm">Help view</a><br>
</p>

<p>
<img border="0" src="../images/ngrelt.png" alt="Related tasks" width="159" height="27"><br>
<a href="help_navigate.htm">Navigating help topics</a><br>
</p>

</body>
</html>