5.7. One-Click Searches
Interchange allows a search to be passed in a URL, as shown above. Just specify the search with the special page parameter search or special page scan. Here is an example:
[page search=" se=Impressionists sf=category "] Impressionist Paintings </a>
This is the same:
[page scan se=Impressionists/sf=category] Impressionist Paintings </a>
Here is the same thing from a home page (assuming /cgi-bin/vlink is the CGI path for Interchange's vlink):
<A HREF="/cgi-bin/vlink/scan/se=Impressionists/sf=category"> Impressionist Paintings </A>
The two-letter abbreviations are mapped with these letters:
ac mv_all_chars bd mv_base_directory bs mv_begin_string ck mv_cache_key co mv_coordinate cs mv_case cv mv_verbatim_columns de mv_dict_end df mv_dict_fold di mv_dict_limit dl mv_dict_look DL mv_raw_dict_look do mv_dict_order dr mv_record_delim em mv_exact_match er mv_spelling_errors ff mv_field_file fi mv_search_file fm mv_first_match fn mv_field_names hs mv_head_skip ix mv_index_delim lb mv_search_label lf mv_like_field lo mv_list_only lr mv_search_line_return ls mv_like_spec ma mv_more_alpha mc mv_more_alpha_chars md mv_more_decade ml mv_matchlimit mm mv_max_matches MM mv_more_matches mp mv_profile ms mv_min_string ne mv_negate ng mv_negate np mv_nextpage nu mv_numeric op mv_column_op os mv_orsearch pf prefix ra mv_return_all rd mv_return_delim rf mv_return_fields rn mv_return_file_name rr mv_return_reference rs mv_return_spec se mv_searchspec sf mv_search_field sg mv_search_group si mv_search_immediate sm mv_start_match sp mv_search_page sq mv_sql_query sr mv_search_relate st mv_searchtype su mv_substring_match tf mv_sort_field to mv_sort_option un mv_unique va mv_value
These can be treated just the same as form variables on the page, except that they can't contain a new line. If using the multi-line method of specification, the characters will automatically be escaped for a URL.
IMPORTANT NOTE: An incompatibility in earlier Interchange catalogs is specifying [page scan/se=searchstring]. This is interpreted by the parser as [page scan/se="searchstring"] and will cause a bad URL. Change this to [page scan se=searchstring], or perhaps better yet:
[page search=" se=searchstring "]
A one-click search may be specified in three different ways.
Original
-
To do an OR search on the fields category and artist for the strings "Surreal" and "Gogh," while matching substrings, do:
[page scan se=Surreal/se=Gogh/os=yes/su=yes/sf=artist/sf=category] Van Gogh -- compare to surrealists </a>
-
In this method of specification, to replace a / (slash) in a file name (for the sp, bd, or fi parameter), the shorthand of :: must be used, i.e., sp=results::standard. (This may not work for some browsers, so put the page in the main pages directory or define the page in a search profile.)
Multi-Line
-
Specify parameters one to a line, as well.
[page scan se="Van Gogh" sp=lists/surreal os=yes su=yes sf=artist sf=category ] Van Gogh -- compare to surrealists </a>
-
Any "unsafe" characters will be escaped. To search for trailing spaces (unlikely), quote.
Ampersand
-
Substitute & for / in the specification and be able to use / and quotes and spaces in the specification.
[page href=scan se="Van Gogh"&sp=lists/surreal&os=yes&su=yes&sf=artist] Van Gogh -- compare to surrealists </a>
-
Any "unsafe" characters will be escaped.