The purpose of this page is to allow members to view search results based on their query entry in the search box found at the top of every page. Only registered and logged-in members may search the site.
Requirements
Searching is limited to member profiles only. Tuning the indexing engine (Lucene) and relevancy of search results will not be covered in this document since they will be handled by Lucene. It is unclear how many results we can return per a result set? I will assume it is around 1000 records or 41 pages? Anyhow, this number should be configurable based on performance testing and Lucene output.
Search Criteria
When a user enters a query they are limited to 75 characters max. with no minimum character requirements. Characters that the system does not recognize will be ignored.
- Empty String - an empty string is admissable. It will display the search error page but the results will have the newest profiles created displayed first
- Location - Members may search by location using zip codes (94123, 94595, etc.), state names (California, Nevada, Oregon, etc.), and codes (CA, NV, OR, etc.)
- MemberName - search using characters found in a profile name
- Profile Information - matching search criteria found in a user's profile
- Hobbies and Interest Information - matching search criteria found in a user's hobbies and interests found in their profile
Search Display & Supporting Controls
There is a set of controls that will be available to the user to help them manage their search results.
- Search String Display
- The user's query will be displayed above the search results as text. It could read something like "Results for SEACHQUERY" where searchquery is the search string entered in the search form field. If the search term was not understood by the system then the title should be something like "No exact matches found, try a different search query, or did youmean this?" (actual copy TBD) then the system will suggest some alternative query terms that are near what the user entered and ones that will return relevant results
- # Results Display - displays the number of results returned from the system based on the user's query
- Sorting - users may sort using the sorting pulldown. The sort function works on the whole results set not just the results currently displayed on the page
- Online - this is the default sort - all of the online members will be displayed first based on the query
- Newest Additions - sorts members by the newest profiles first
- Results Display
- Results will display even if the search term does not work - the results that will be displayed are the newest 96 members
- There are 24 profiles displayed before pagination begins
- There should be an indicator of what chunck of 20 is being viewed and of how many ie 1-20 of 130
- There should also be a way to traverse ahead or back with next and previous buttons to go back and forwared a page and also allow user's to skip to any page with a page link indicator button ie < Previous | 1 | 2 | 3 | 4 | 5 | Next>
- Profiles are displayed 4 items per a row so if there were more than 24 results there would be 6 rows of 4 profiles per a line
- Each result has these components
- Profile Pic - hyperlinked to profile
- Online status indicator
- Membername - hyperlinked to profile
- Location - City, ST (State)
- When a result item is rolled over by the user the whole result module highlights with a color (HEX and function TBD). The whole item should be selectable so if the mouse is highlighting a result area even though it is not over a text link the onclick should take the user to the user's profile page.
- When a user rolls over and holds over a profile pic for .75 seconds there is a balloon pop-up that appears. In the balloon is a snippet of the pic owner's profile information. The balloon includes: a profile pic, profile name, an indicator as to whether or not the member is online, age, gender, location, relationship status, a truncated profile description, a link to the user's profile page, and a link to send a message to that person. The profile pic as well as the membername are linked to the poster's profile page. The send a message link goes to the sender's message center with the poster's info already populated in the "To" box. See the message center for more information.
Post-Filters
These tools are located to the left of the results and will give the user the ability to refine their results in real-time to get the most relevant results possible. Please see http://tagworld.com and/or http://www.grokker.com for working examples.
- Filters work on the whole set of search results after the results have been returned and displayed. When a search is initiated the filters should be deactivated/dimmed until the new set of results are displayed. The filters not only work independently of one another but they also may be "stacked" for more precision. So it is conceivable that a user could see only females who joined on January 21, 2007 for example.
- Filter Option
- Date
- The date filter is a bar graph representing the number of profiles submitted during that time period. It is defaulted to the last 3 months with each bar representing a week of activity. Rolling over a bar will show a pop-over balloon displaying:
- the number of profiles added that week ie 215 profiles added
- the week range ie January 22, 2007 - January 28, 2007. Weeks start on Mondays and end on Sunday
- When a week date bar is selected the graph changes to display 7 bars which represent the 7 days of that week. Each bar is a sum of al of the profiles added that day. When the week is selected not only does the graph change but so does the result set. The results are resorted and filtered to show only those profiles that match the date criteria
- Selecting a day within the graph will not change the graph layout however it will reduce the result set again. The selected day bar should display a different color (actual hex TBD) to show what day has been selected
- To get back to the 3 month view there will be a hyperlink next to the date label that reads "go back" . The user may also select the reset button to reset all of the filters not only the date filter
- The filter action happens onclick
- Filter Option - Gender
- This filter is two checkboxes: one for female and one for male. Both are checked on by default which will display both male and female profiles
- Unchecking the male box and leaving the female box checked will remove the male profiles and display only females in real-time
- Unchecking the female box and leaving the male checkbox checked will remove all the female profiles and display only males in real-time
- Unchecking both boxes will remove all profiles from view leaving no results to bring the results back the user must check back on one of the gender checkboxes. If there are no results to display there should be a message that appears where the reults should be that says something like "There are no profiles that match your criteria. Adjust your filters to view profiles" (actual copy TBD) - this message disappears when the adjustments have been made and profile results are displayed again
- The filter action happens onclick
- Filter Option - Age
- This filter is a double headed slider at default the two heads are arranged on opposite ends of the spectrum at the left end is 18 years of age and on the right is 80 years of age. As one head is dragged the age label/number changes to reflect that change so if the left knob is slid to the right any profiles that are under the age limit displayed in the label will be removed from display in real-time and the results will resort showing only those relevant profiles between the specified age range
- The filter knobs may be set next to eachother but never on top of one another also the knobs may not pass oneanother.
- The filter trigger happens on release of the knob
- If there are no results to display there should be a message that appears where the reults should be that says something like "There are no profiles that match your criteria. Adjust your filters to view profiles" (actual copy TBD) - this message disappears when the adjustments have been made and profile results are displayed again
- To reset this filter independently of the other filters the user must slide the knobs to opposite ends of the slider spectrum
- Filter Option - Location
- This filter is a combination of pulldown and text box - to make the filter work the user must enter a location in like zip or city. Only one of the form items needs to be populated to trigger the filter event
- The pulldown is pre-populated with distance in miles from location so it could be populated like "within 5 miles of", "within 10 miles of", "within 25 miles of" etc.
- The text box filter trigger happens after a second of no character/type entry input
- The pull-down filter trigger happens after release.
- If there are no results to display there should be a message that appears where the reults should be that says something like "There are no profiles that match your criteria. Adjust your filters to view profiles" (actual copy TBD) - this message disappears when the adjustments have been made and profile results are displayed again
- To reset this filter independently of the other filters the user must delete any text in the text box and/or change the pulldown option to "select" or nothing
- Reset Button - selecting the reset button will make all of the filters return to their default state thereby returning the result set back to its original state