开发者

Business Applications: What are the fundamental features of a search form?

开发者 https://www.devze.com 2022-12-24 14:55 出处:网络
In a typical business application it is quite common to have forms that are used for searching. Some basic features are:

In a typical business application it is quite common to have forms that are used for searching.

Some basic features are:

  • A pane开发者_StackOverflow中文版 that contains the search criteria
  • A grid to display the results
  • Sorting on the grid
  • A detail page that opens when an item is selected in the results grid

What other features would you expect in a business application's search functionality?


Maybe it's a bit trite but there is some sense in this picture:

removed dead ImageShack link

Do it as it shown at the second example, not as at the 3rd one.

There is a well known extreme programming principle - YAGNI. I think it's absolutely appliabe to almost any problem. You always can add something new if it's necessary, but it's much more difficult to remove something what is already exist because someone already uses it even if it's wrong.


How about the ability to save search criteria, in order to easily re-run a search later. Or, the ability to easily, cleanly, print the list of results.


If search refining is allowed (given a search result, limited future searches to the current results), you may also want to add a breadcrumb system, so that the user can see the sequence of refinements that lead you to the current result-set -- and by clicking on a breadcrumb, return to a previous refinement stage.


Faceted search:

Business Applications: What are the fundamental features of a search form?


(source: msdn.com)

This is displayed in the area in the right ellipse. There are filters and the engine shows the number of results that will remain after aplying the filter. This is very useful and can be done without pain in some search engines, such as Apache Solr. Of course, implement this only if filters make sense in your task.


Aggregate summary info, like total(s), count(s) or percentages.

One or more menus, like right click context for the grid, a ribbon or menu on top.


Your list for the UI elements is kinda good. Export, print (asking them whether it is really necessary to print this?), category/tag and language selection is worth to consider. Smart and working pagination (don't forget ordering).

Please do not force a search to open in a new (or even worse, always in the same window). Links of search results should be copy-pastable (always use GET),

But it really matters to have a functional (i.e. a really good) algorithm. Mostly I google company websites, because their search engine is, cough, awwwwkward. Looking for a feature chart, technical spec, pricing etc. one is not interested in press releases and vica-versa.

Search engine providers offer integration into company websites.


Use Auto-complete wherever possible on your text input fields.

If using selects or combo boxes with related information try and use chain selects to organise the information.

Where results depend on location try and serve relevant results.

Also remember to keep the search form as simple as possible even down to one text field. To refine the search you can have an alternate form as an "Advanced Search interface".


Printing, export.


A grid to display the results

Watch out not to display results a user is not authorized to see (roles / permissions / access rights).

A detail page that opens when an item is selected in the results grid

In case a user attempts to circumvent the search page links and enter some document directly, again, check out for permissions.


Validation, validation, validation.

It should be very hard, near impossible, for me to run a query that makes no sense. ie, start date occurring after an end date.


Export a numerical dataset (even if it only has one numeric column - so just make it so by default) to CSV for import into Excel (people love this function, even if only 1% of users seem to use it with any regularity. Just ask yourself when's the last time you highlighted something for copy-n-paste. Would it have been easier to open a CSV?

Refinable searches (think Google's use of site: -). People who use the search utility a lot will appreciate this. People who don't won't know it's not there.

The ability to choose to display 1 records, 5 records, 100 records, 1000 records, etc. "Paging" I believe is what we most commonly call it ;).

You mentioned sortable grids. Somebody else mentioned auto-sum or auto-count. Those are good if (once again) you have largely numeric data. But those are almost report-oriented functions.

Hope this helps.


One thing you can do is have a drop down of most common searches in plain english. e.g. "High value sales in New York in last 5 days". This is the equivalent of user selecting an amount, the city, date ranges etc. done conveniently for them.

Another thing is to have multiple search criteria tabs based on perspective of the user. Like "sales search", "reporting search", "admin search" etc.

ALso consider limiting the number of entries retrieved in the search and allow users to do more narrow searches. This depends on the business needs however.


The most commonly used search option listed first and in a prominent location.


I think your requirements are good. Take a cue from Google. Google got it right. One text box where you type whatever you want, and your engine spits out the answers. Most folks will try this, and if the answers are good enough, then that is what they will use. In the back-end, you'll probably want to flatten all of the data into a big honkin' table and then index it or use a SQL query with "LIKE" in it.

However, you will probably want to allow the user to refine the search. For this, have a link to "Advanced Search" and use a form there to specify filter criteria. This lets the user zero in on the results if basic search is not good enough. For the results on th is page, you will certainly want to have sorting on key fields, but do it after you have produced the initial result set.


It depends on the content that you are searching for.. make it relevant :) Search always look easy but can be incredibly difficult to get right.


Not mentioned yet, but very important I think - a search that actually works. This item is often neglected and makes the rest a bit moot.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号