<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    #(forward)#::<meta http-equiv="REFRESH" content="0; url=#[target]#" />#(/forward)#
    <title>YaCy '#[clientname]#': Search Page</title>
    #%env/templates/metas.template%#
    <link rel="alternate" type="application/rss+xml" title="Search for #[former]#" href="yacysearch.rss?query=#[former]#" />
    <link rel="search" type="application/opensearchdescription+xml" title="YaCy Search on '#[clientname]#'" href="opensearchdescription.xml" />
    <script type="text/javascript" src="/env/bootstrap/js/typeahead.jquery.min.js"></script>
    <script type="text/javascript" src="js/html.js"></script>
    <script type="text/javascript">
     var suggestMatcher = function() {
       return function opensearch(q, cb) {
       	 $.getJSON("suggest.json?q=" + q, function(data) {
           	var parsed = [];
            for (var i = 0; i < data[1].length; i++) {
                var row = data[1][i];
                if (row) {
                    parsed[parsed.length] = {
                        data: [row],
                        value: row,
                        result: row
                    };  
                };
            };
            cb(parsed); 
          });
        };
      };     
    $(document).ready(function() {
      $('#search').typeahead({hint:false,highlight:true,minLength:1}, {
    	name: 'states',
    	displayKey: 'value',
    	source: suggestMatcher()
      });
    });
    </script>
    <style type="text/css">.twitter-typeahead {margin: 0px;padding: 0px;top:3px;}</style> <!-- fix for input window -->
  </head>
  <body id="index" onload="#(focus)#::document.getElementById('search').focus()#(/focus)#">
    #(topmenu)#
    #%env/templates/embeddedheader.template%#
    ::
    #%env/templates/simpleheader.template%#
    <script type="text/javascript">
      document.getElementById("header_websearch").className += " active";
    </script>
    #(/topmenu)#
    
    <!-- this is the single exception in page design where we do not want a top-left application icon because we show a big one in the middle of the page -->
	<script>document.getElementById("greeting-icon").src="/env/grafics/invisible.png"</script>
	
	<h2 class="yacy"><a href="#[promoteSearchPageGreeting.homepage]#" class="yacylogo"><img src="#[promoteSearchPageGreeting.largeImage]#" alt="yacy" style="margin: auto;"/></a></h2>
    <h2 class="yacy">#[promoteSearchPageGreeting]#</h2>

    <form class="search form-inline" action="yacysearch.html" method="get" id="searchform" accept-charset="UTF-8">
      <fieldset class="maininput">
        <div class="input-group">
          <input name="query" id="search" type="text" size="40" maxlength="80" value="#[former]#" #(focus)#::autofocus="autofocus"#(/focus)# onFocus="this.select()" class="form-control searchinput typeahead" />
          <div class="input-group-btn">
            <button id="Enter" name="Enter" class="btn btn-primary" type="submit">Search</button>
          </div>
        </div>
        <input type="hidden" name="verify" value="#[search.verify]#" />
        #(searchdomswitches)#::
        <div class="yacysearch">
	        #(searchtext)#::<input type="radio" id="text" name="contentdom" value="text" #(check)#::checked="checked"#(/check)# />&nbsp;Text&nbsp;&nbsp;#(/searchtext)#
	        #(searchimage)#::<input type="radio" id="image" name="contentdom" value="image" #(check)#::checked="checked"#(/check)# />&nbsp;Images&nbsp;&nbsp;#(/searchimage)#
	        #(searchaudio)#::<input type="radio" id="audio" name="contentdom" value="audio" #(check)#::checked="checked"#(/check)# />&nbsp;Audio&nbsp;&nbsp;#(/searchaudio)#
	        #(searchvideo)#::<input type="radio" id="video" name="contentdom" value="video" #(check)#::checked="checked"#(/check)# />&nbsp;Video&nbsp;&nbsp;#(/searchvideo)#
	        #(searchapp)#::<input type="radio" id="app" name="contentdom" value="app" #(check)#::checked="checked"#(/check)# />&nbsp;Applications#(/searchapp)#
	        #(searchoptions)#&nbsp;&nbsp;<a href="index.html?searchoptions=1" onclick="this.href='/index.html?searchoptions=1&amp;former='+document.getElementById('searchinput').search.value+'&amp;contentdom='+radioValue(document.getElementById('searchinput').contentdom)">more options...</a>::#(/searchoptions)#
        </div>
        #(/searchdomswitches)#
        <input type="hidden" name="nav" value="#[search.navigation]#" />
        <input type="hidden" name="startRecord" id="startRecord" value="0" />
        <input type="hidden" name="indexof" value="off" />
        <input type="hidden" name="meanCount" value="5" />
      #(searchoptions)#
        <input type="hidden" name="resource" value="global" />
        <input type="hidden" name="prefermaskfilter" value="" />
        <input type="hidden" name="maximumRecords" value="#[maximumRecords]#" />
        <input id="timezoneOffset" type="hidden" name="timezoneOffset" value=""><script>document.getElementById("timezoneOffset").value = new Date().getTimezoneOffset();</script>
      </fieldset>
      ::
      </fieldset>
       
      <table>
        <tr>
          <td><label for="count">Results per page</label>:</td>
          <td>
            <input type="radio" name="maximumRecords" id="mr10" value="10" #(count-10)#::checked="checked"#(/count-10)#/><label for="mr10">10</label>
            <input type="radio" name="maximumRecords" id="mr50" value="50" #(count-50)#::checked="checked"#(/count-50)#/><label for="mr50">50</label>
            <input type="radio" name="maximumRecords" id="mr100" value="100" #(count-100)#::checked="checked"#(/count-100)#/><label for="mr100">100</label>
          </td>
        </tr>
        <tr>
          #(resource-select)#::
          <td><label for="resource">Resource</label>:</td>
          <td>
            <input type="radio" name="resource" id="rglobal" value="global" checked="checked" /><label for="rglobal">the peer-to-peer network</label>
            <input type="radio" name="resource" id="rlocal" value="local"><label for="rlocal">only the local index</label>
          </td>::
          <td><label for="resource">Resource</label>:</td>
          <td>
            <input type="radio" name="resource" id="rglobal" value="global"/><label for="rglobal">the peer-to-peer network</label>
            <input type="radio" name="resource" id="rlocal" value="local" checked="checked"/><label for="rlocal">only the local index</label>
          </td>
          #(/resource-select)#
        </tr>
        <tr>
          <td>
            <label for="prefermaskfilter">Prefer mask</label>:
          </td>
          <td>
            #(prefermaskoptions)#
            <input id="prefermaskfilter" name="prefermaskfilter" type="text" size="12" maxlength="80" value="#[prefermaskfilter]#" />
            ::
            <input type="radio" name="prefermask" value="yes" checked="checked" /> restrict on <input name="prefermaskfilter" type="text" size="12" maxlength="80" value="#[prefermaskfilter]#" />
            <input type="radio" name="prefermask" value="no" /> show all
            #(/prefermaskoptions)#
          </td>
        </tr>
        <tr>
          <td>
            Constraints:
          </td>
          <td>
            <input type="checkbox" id="indexof" name="indexof" #[indexofChecked]# /> <label for="indexof">only index pages</label>
          </td>
        </tr>
      </table>
      
      <h4>Query Operators</h4>

      <dl style="width:700px">
      <dt style="width:100px">restrictions</dt>
      <dd>
        <dl style="width:500px">
          <dt>inurl:&lt;phrase&gt;</dt>
          <dd>only urls with the &lt;phrase&gt; in the url</dd>
          <dt>inlink:&lt;phrase&gt;</dt>
          <dd>only urls with the &lt;phrase&gt; within outbound links of the document</dd>
          <dt>filetype:&lt;ext&gt;</dt>
          <dd>only urls with extension &lt;ext&gt;</dd>
          <dt>site:&lt;host&gt;</dt>
          <dd>only urls from host &lt;host&gt;</dd>
          <dt>author:&lt;author&gt;</dt>
          <dd>only pages with as-author-anotated &lt;author&gt;</dd>
          <dt>tld:&lt;tld&gt;</dt>
          <dd>only pages from top-level-domains &lt;tld&gt;</dd>
          <dt>/http</dt>
          <dd>only resources from http or https servers</dd>
          <dt>/ftp</dt>
          <dd>only resources from ftp servers (they are rare, <a href="CrawlStartSite.html">crawl them yourself</a>)</dd>
          <dt>/smb</dt>
          <dd>only resources from smb servers (<a href="ConfigBasic.html">Intranet Indexing</a> must be selected)</dd>
          <dt>/file</dt>
          <dd>only files from a local file system (<a href="ConfigBasic.html">Intranet Indexing</a> must be selected)</dd>
        </dl>
      </dd>
      <dt style="width:100px">ranking modifier</dt>
      <dd>
        <dl style="width:500px">
          <dt>/date</dt>
          <dd>sort by date (latest first)</dd>
          <dt>/near</dt>
          <dd>multiple words shall appear near</dd>
          <dt>"" (doublequotes)</dt>
          <dd>multiple words shall appear near</dd>
          <dt>/language/&lt;lang&gt;</dt>
          <dd>prefer given language (an ISO639 2-letter code)</dd>
        </dl>
      </dd>
      #(heuristic)#::
      <dt style="width:100px">heuristics</dt>
      <dd>
        <dl style="width:500px">
          <dt>/heuristic</dt>
          <dd>add search results from external opensearch systems</dd>
        </dl>
      </dd>
      #(/heuristic)#
      </dl>
      
      <h4>Search Navigation</h4>

      <dl style="width:700px">
      <dt style="width:100px">keyboard shotcuts</dt>
      <dd>
        <dl style="width:500px">
          <dt>tab or page-up</dt>
          <dd>next result page</dd>
          <dt>page-down</dt>
          <dd>previous result page</dd>
        </dl>
      </dd>
      <dt style="width:100px">automatic result retrieval</dt>
      <dd>
        <dl style="width:500px">
          <dt>browser integration</dt>
          <dd>after searching, click-open on the default search engine in the upper right search field of your browser and select 'Add "YaCy Search.."'</dd>
          <dt>search as rss feed</dt>
          <dd>click on the red icon in the upper right after a search. this works good in combination with the '/date' ranking modifier. See an <a href="yacysearch.rss?query=news+%2Fdate&Enter=Search&verify=cacheonly&contentdom=text&nav=hosts%2Cauthors%2Cnamespace%2Ctopics%2Cfiletype%2Cprotocol&startRecord=0&indexof=off&meanCount=5&maximumRecords=10&resource=global&prefermaskfilter=">example</a>.</dd>
          <dt>json search results</dt>
          <dd>for ajax developers: get the search rss feed and replace the '.rss' extension in the search result url with '.json'</dd>
        </dl>
      </dd>
      </dl>
      #(/searchoptions)#
    </form>
    
    #(topmenu)#
    #%env/templates/embeddedfooter.template%#
    ::
    #%env/templates/simplefooter.template%#
    #(/topmenu)#
  </body>
</html>