
= Search
:description: Learn how to search the Web UI in {page-component-title} for nodes and the areas of the UI to complete specific tasks.

You can search in the {page-component-title} web UI using either the search bar at the top of each page or the Search view.

== Search bar

The search bar uses keywords to return related nodes and a list of actions that you can perform.
Press kbd:[Shift] twice or click in the search bar to activate it, then type your search terms.

.Sample search results
image::search/search-sample.png["{page-component-title} UI showing two examples of search results. The first shows related nodes and actions, and the second shows only related actions."]

NOTE: Search results for nodes also display any nodes with xref:deep-dive/meta-data.adoc[metadata] that matches the keywords, such as labels, locations, admin users, and so on.
For example, if you search for "foo" and get a node match of "foobar," the result displays no metadata.
If you search for "foo" and a match is found in a node's metadata, the results display the node's name and the "foo" metadata associated with it.
See <<search-customize, Customize search results>> for more information.

From the search results, you can select a node to navigate to its page, or select one of the actions to navigate to the page that lets you complete said action.
For example, clicking *Edit Requisition 'Test'* takes you to the page where you can edit the requisition named Test.

== Search view

The Search view provides a number of search options for nodes.
To access the Search view, click *Search* in the top menu bar.

The Search view includes three quick-search links: *All Nodes*, *All Nodes and Their Interfaces*, and *All Nodes with Asset Info*.
Click any of them to quickly search for associated information.

[[search-view-name-search]]
=== Name search

When you search for a node using its name, it is a case-sensitive, inclusive search (for example, searching `serv` finds any of `serv`, `Service`, `Reserved`, `NTSERV`, `UserVortex`, and so on).
You can use an underscore (`_`) as a single-character wildcard, or a percent character (`%`) as a multiple-character wildcard.

=== TCP/IP address search

When you search for a node by TCP or IP address, it uses a flexible format that lets you separate the four (or eight, in the case of IPv6) fields of an IP address into specific searches.
Include an asterisk (`*`) in place of any octet to match any value for that octet.
Separate two numbers with a dash (`-`) to indicate a range.
Use a comma (`,`) to demarcate a list.

For example, the following search fields are all valid and each creates the same result set (all IP addresses from `192.168.0.0` through `192.168.255.255`):

* `192.168.\*.*`
* `192.168.0-255.0-255`
* `192.168.0,1,2,3-255.*`
* `2001:6a8:3c80:8000-8fff:*:*:*:*`
* `fc00,fe80:*:*:*:*:*:*:*`

=== System/interface search

A system or interface attribute search finds nodes with systems or interfaces that match a defined search string.
The `contains` modifier provides a case-insensitive, inclusive search similar to the <<search-view-name-search, name search>>.
The `equals` modifier requires the search to find an exact match.

=== Location/service search

Select a location or service to search for using the appropriate drop-down list.

=== MAC address search

A case-insensitive, partial string search for interfaces with hardware (MAC) addresses that match the search string (for example, to find all interfaces with a specific manufacturer code, enter the first six characters of the MAC address).
Octet separators (`-` or `:`) are optional.

=== Foreign service name search

A case-insensitive, inclusive search for a foreign service name.
You can use an underscore (`_`) as a single-character wildcard, or a percent character (`%`) as a multiple-character wildcard.

=== Flows search

Find nodes with or without associated flows data.

=== Enlinkd topology search

Find nodes whose CDP or LLDP data match the defined search string.

=== Category/field search

Search for nodes with assets that are associated with a particular category or field.

The field search includes a list of fields, and a text box to provide a string value to match.
The search is case-insensitive and inclusive.
You can use an underscore (`_`) as a single-character wildcard, or a percent character (`%`) as a multiple-character wildcard.

[[search-customize]]
== Customize search results

You can customize search results to show additional metadata.
To do so, create a new file in `$\{OPENNMS_HOME}/etc/opennms.properties.d/` and specify a value for `org.opennms.netmgt.search.info`.

The following example displays nodes' `sys-contact` metadata and the associated department:

[source, properties]
org.opennms.netmgt.search.info=${node:sys-contact} (Department: ${asset:department})
