mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-21 00:00:13 +02:00
9f02d2c47b
- should be investigated in more detail to look for additional implications Remove "yacyaction" from proxyservlet as it was only needed for removed interaction routines.
186 lines
9.6 KiB
HTML
186 lines
9.6 KiB
HTML
<!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>
|
|
<title>YaCy '#[clientname]#': Federated Index</title>
|
|
#%env/templates/metas.template%#
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
function xmlhttpPost() {
|
|
var searchform = document.getElementById('searchform');
|
|
search(searchform.discoverobjectspace.value);
|
|
}
|
|
|
|
function search(query) {
|
|
var xmlHttpReq = false;
|
|
var self = this;
|
|
if (window.XMLHttpRequest) { // Mozilla/Safari
|
|
self.xmlHttpReq = new XMLHttpRequest();
|
|
}
|
|
else if (window.ActiveXObject) { // IE
|
|
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
self.xmlHttpReq.open('GET', "yacysearch.json?verify=false&resource=local&maximumRecords=100&nav=none&query=" + query + "+inurl:" + query, true);
|
|
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
self.xmlHttpReq.onreadystatechange = function() {
|
|
if (self.xmlHttpReq.readyState == 4) {
|
|
updatepage(self.xmlHttpReq.responseText);
|
|
}
|
|
}
|
|
self.xmlHttpReq.send(null);
|
|
}
|
|
|
|
function updatepage(str) {
|
|
var raw = document.getElementById("raw");
|
|
if (raw != null) raw.innerHTML = str;
|
|
var rsp = eval("("+str+")");
|
|
var firstChannel = rsp.channels[0];
|
|
var totalResults = firstChannel.totalResults.replace(/[,.]/,"");
|
|
var startIndex = firstChannel.startIndex;
|
|
var itemsPerPage = firstChannel.itemsPerPage;
|
|
var navigation = firstChannel.navigation;
|
|
|
|
var html = "";
|
|
|
|
if (totalResults > 0 && firstChannel.items.length > 0) {
|
|
var item;
|
|
html += "<table class=\"networkTable\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"99%\">";
|
|
html += "<tr class=\"TableHeader\" valign=\"bottom\">";
|
|
html += "<td>URL from index (total results = " + totalResults + ")<\/td>";
|
|
for (var i = 0; i < firstChannel.items.length; i++) {
|
|
item = firstChannel.items[i];
|
|
html += "<tr class=\"TableCellLight\"><td align=\"left\" onclick=\"document.getElementById('searchform').value='" + item.link + "';\">" + item.link + "<\/td>";
|
|
}
|
|
html += "<\/table>";
|
|
}
|
|
document.getElementById("searchresults").innerHTML = html;
|
|
}
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="Vocabulary_p">
|
|
|
|
#(edit)#::
|
|
<div id="api">
|
|
<a href="Vocabulary_p.xml" id="apilink"><img src="env/grafics/api.png" width="60" height="40" alt="API"/></a>
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
document.getElementById('apilink').setAttribute('href', 'Vocabulary_p.xml?' + window.location.search.substring(1));
|
|
//]]>
|
|
</script>
|
|
<span>The information that is presented on this page can also be retrieved as XML
|
|
Click the API icon to see the RDF Ontology definition for this vocabulary.
|
|
To see a list of all APIs, please visit the <a href="http://www.yacy-websuche.de/wiki/index.php/Dev:API" target="_blank">API wiki page</a>.</span>
|
|
</div>
|
|
#(/edit)#
|
|
|
|
#%env/templates/header.template%#
|
|
#%env/templates/submenuSemantic.template%#
|
|
<h2>Vocabulary Administration</h2>
|
|
<p>
|
|
Vocabularies can be used to produce a search navigation. A vocabulary must be created before content is indexed.
|
|
The vocabulary is used to annotate the indexed content with a reference to the object that is denoted by the term of the vocabulary.
|
|
The object can be denoted by a url stub that, combined with the term, becomes the url for the object.
|
|
</p>
|
|
|
|
<form action="Vocabulary_p.html" method="get" accept-charset="UTF-8">
|
|
<fieldset><legend>Vocabulary Selection</legend>
|
|
<dl>
|
|
<dt>Vocabulary Name</dt>
|
|
<dd>
|
|
<select name="vocabulary" onchange="this.form.submit()">
|
|
#{vocabularyset}#
|
|
<option value="#[name]#" #(selected)#::selected="selected"#(/selected)#>#[name]#</option>
|
|
#{/vocabularyset}#
|
|
</select>
|
|
</dd>
|
|
<dt></dt><dd><input type="submit" name="view" value="View" /></dd>
|
|
</dl>
|
|
</fieldset>
|
|
</form>
|
|
|
|
#(create)#::
|
|
<!--<form action="Vocabulary_p.html" id="searchform" method="get" accept-charset="UTF-8" onkeyup="xmlhttpPost(); return false;">-->
|
|
<form action="Vocabulary_p.html" id="searchform" method="get" accept-charset="UTF-8" >
|
|
<fieldset><legend>Vocabulary Production</legend>
|
|
It is possible to produce a vocabulary out of the existing search index. This is done using a given 'objectspace' which you can enter as a URL Stub.
|
|
This stub is used to find all matching URLs. If the remaining path from the matching URLs then denotes a single file, the file name is used as vocabulary term.
|
|
This works best with wikis. Try to use a wiki url as objectspace path.
|
|
<dl>
|
|
<dt>Vocabulary Name</dt><dd><input type="text" name="discovername" value="" size="16" maxlength="128" /></dd>
|
|
<dt>Objectspace</dt><dd><input type="text" name="discoverobjectspace" value="http://" size="78" maxlength="128" />
|
|
<div id="searchresults"></div></dd>
|
|
<dt>Discover Terms:</dt>
|
|
<dd>
|
|
<input type="radio" name="discovermethod" value="none" checked="checked" />no auto-discovery (empty vocabulary)
|
|
<input type="radio" name="discovermethod" value="path" />from file name
|
|
<input type="radio" name="discovermethod" value="title" />from page title
|
|
<input type="radio" name="discovermethod" value="titlesplitted" />from page title (splitted)
|
|
<input type="radio" name="discovermethod" value="author" />from page author</dd>
|
|
<dt></dt><dd><input type="submit" name="create" value="Create" /></dd>
|
|
</dl>
|
|
</fieldset>
|
|
</form>
|
|
#(/create)#
|
|
|
|
#(edit)#::
|
|
<form action="Vocabulary_p.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
|
|
<fieldset><legend>Vocabulary Editor</legend>
|
|
<dl>
|
|
<dt>Vocabulary Name</dt><dd>#[name]#</dd>
|
|
<dt>File</dt><dd>#(editable)#[automatically generated, not stored, cannot be edited]::#[file]##(/editable)#</dd>
|
|
<dt>Size</dt><dd>#[size]#</dd>
|
|
<dt>Namespace</dt><dd>#[namespace]#</dd>
|
|
<dt>Predicate</dt><dd>#[predicate]#</dd>
|
|
<dt>Prefix</dt><dd>#[prefix]#</dd>
|
|
<dt>Objectspace</dt><dd>#(editable)##[objectspace]#::<input type="text" name="objectspace" value="#[objectspace]#" size="78" maxlength="128" /><br/>if set, uses the predicate <a href="#[objectspacepredicate]#" target="_blank">#[objectspacepredicate]#</a> for generated objects. Hint: use 'http://dbpedia.org/resource/' as default.#(/editable)#</dd>
|
|
</dl>
|
|
<p>This produces the following triples in the triplestore if a term or synonym matches in a document:</p>
|
|
<dl>
|
|
<dt>Triple #1</dt><dd>#[triple1]#</dd>
|
|
<dt>Triple #2</dt><dd>#[triple2]#</dd>
|
|
<dt>more Triples for linking into objectspace</dt><dd>#[tripleN]#</dd>
|
|
</dl>
|
|
<table class="sortable" border="0" cellpadding="2" cellspacing="1">
|
|
<tr class="TableHeader" valign="bottom">
|
|
<td>Modify</td>
|
|
<td>Delete</td>
|
|
<td>Literal</td>
|
|
<td>Synonyms</td>
|
|
<td>Object Link</td>
|
|
</tr>
|
|
#{terms}#
|
|
<tr class="TableCell#(dark)#Light::Dark::Summary#(/dark)#">
|
|
<td align="center">#(editable)# ::<input type="checkbox" name="modify_#[term]#" id="modify_#[term]#" value="checked" disabled="disabled"/>#(/editable)#</td>
|
|
<td align="center">#(editable)# ::<input type="checkbox" name="delete_#[term]#" id="delete_#[term]#" value="checked" />#(/editable)#</td>
|
|
<td align="left">#[term]#</td>
|
|
<td align="left">#(editable)##[synonyms]#::<input type="text" name="synonyms_#[term]#" value="#[synonyms]#" size="40" maxlength="1024" onkeyup="document.getElementById('modify_#[term]#').checked='checked'; document.getElementById('modify_#[term]#').disabled=''; document.getElementById('delete_#[term]#').disabled='disabled';"/>#(/editable)#</td>
|
|
<td align="left">#(editable)##[objectlink]#::<input type="text" name="objectlink_#[term]#" value="#[objectlink]#" size="60" maxlength="1024" onkeyup="document.getElementById('modify_#[term]#').checked='checked'; document.getElementById('modify_#[term]#').disabled=''; document.getElementById('delete_#[term]#').disabled='disabled';"/>#(/editable)#</td>
|
|
</tr>
|
|
#{/terms}#
|
|
#(editable)#::
|
|
<tr class="TableCellDark">
|
|
<td align="center" colspan="2"><input type="checkbox" name="add_new" id="add_new" value="checked" disabled="disabled"/><i>add</i></td>
|
|
<td align="left"><input type="text" name="newterm" id="newterm" value="" size="24" maxlength="128" onkeyup="document.getElementById('add_new').checked='checked'; document.getElementById('add_new').disabled=''"/></td>
|
|
<td align="left"><input type="text" name="newsynonyms" id="newsynonyms" value="" size="40" maxlength="1024"/></td>
|
|
<td align="left"><input type="text" name="newobjectlink" id="newobjectlink" value="" size="60" maxlength="1024"/></td>
|
|
</tr>
|
|
<tr class="TableCellDark">
|
|
<td colspan="3"></td>
|
|
<td colspan="2" align="right" class="TableCellSummary"><input type="checkbox" name="clear_table" id="clear_table" value="checked" /><i>clear table (remove all terms)</i></td>
|
|
</tr>
|
|
<tr class="TableCellDark">
|
|
<td colspan="3"></td>
|
|
<td colspan="2" align="right" class="TableCellSummary"><input type="checkbox" name="delete_vocabulary" id="delete_vocabulary" value="checked" /><i>delete vocabulary</i></td>
|
|
</tr>
|
|
#(/editable)#
|
|
</table>
|
|
<input type="hidden" name="vocabulary" value="#[name]#" />
|
|
<input type="submit" name="set" value="Submit" />
|
|
</fieldset>
|
|
</form>
|
|
#(/edit)#
|
|
|
|
#%env/templates/footer.template%#
|
|
</body>
|
|
</html>
|