Search box

A search box, search field or search bar is a graphical control element used in computer programs, such as file managers or web browsers, and on web sites. A search box is usually a single-line text box or search icon (which will transform into a search box on click activity) with the dedicated function of accepting user input to be searched for in a database. Search boxes on web pages are usually used to allow users to enter a query to be submitted to a Web search engine server-side script, where an index database is queried for entries that contain one or more of the user's keyword research.

Search boxes are commonly accompanied by a search button (sometimes indicated only by a magnifying glass symbol) to submit the search. However, the search button may be omitted as the user may press the enter key to submit the search, or the search may be sent automatically to present the user with real-time results.

The search box is an integral part of the site search functionality, which is an important element of website design for content-rich websites. On some websites, site search is more prominent than on others. E-commerce typically use search boxes, and thus site search, as a primary navigation tool.

Common features
Depending on the particular implementation, a search box may be accompanied by a drop-down list to present the users with past searches or search suggestions. Search boxes may have other features to help the user, such as autocomplete, search suggestions, a spelling checker, etc. Search boxes are often also accompanied by drop-down menus or other input controls to allow the user to restrict the search or choose what type of content to search for.

In some cases, while users input search strings, the results of that string would also present on the content area updating in real time. However, if the page chooses this way to show results to users, the loading time is slower and may cause unresponsiveness or browser crashes. Hence, it is not recommended for small and medium-sized websites.

Modern search box implementations make use of persistent connections to achieve both low-latency search experience and bandwidth improvement. However, for large, search-intensive web applications, a scalable server being able to handle a high number of concurrent persistent connections is needed. Such servers already exist. For example, a single instance of the WebSocket server provided by MigratoryData could handle 240,000 autocomplete requests per second from 1 million concurrent users with a mean round-trip latency of 11.82 milliseconds.