mirror of
https://github.com/sbrl/Pepperminty-Wiki.git
synced 2024-11-22 16:33:00 +00:00
Add debug idindex-show action.
This commit is contained in:
parent
671fd8dee4
commit
d9b5bdfb3e
8 changed files with 88 additions and 12 deletions
|
@ -1,4 +1,4 @@
|
||||||
# Changelog
|
data# Changelog
|
||||||
|
|
||||||
## v0.12.1-dev
|
## v0.12.1-dev
|
||||||
|
|
|
@ -496,7 +496,7 @@ define({ "api": [
|
||||||
"group": "Error 4xx",
|
"group": "Error 4xx",
|
||||||
"optional": false,
|
"optional": false,
|
||||||
"field": "NonExistentPageError",
|
"field": "NonExistentPageError",
|
||||||
"description": "<p>The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit apge instead.</p>"
|
"description": "<p>The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit page instead.</p>"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Error 4xx",
|
"group": "Error 4xx",
|
||||||
|
@ -589,6 +589,24 @@ define({ "api": [
|
||||||
"filename": "./modules/feature-search.php",
|
"filename": "./modules/feature-search.php",
|
||||||
"groupTitle": "Search"
|
"groupTitle": "Search"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "get",
|
||||||
|
"url": "?action=idindex-show",
|
||||||
|
"title": "Show the id index.",
|
||||||
|
"description": "<p>Outputs the id index. Useful if you need to verify that it's working as expected.</p>",
|
||||||
|
"name": "SearchShowIdIndex",
|
||||||
|
"group": "Search",
|
||||||
|
"permission": [
|
||||||
|
{
|
||||||
|
"name": "Anonymous",
|
||||||
|
"title": "Anybody may use this call.",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "0.0.0",
|
||||||
|
"filename": "./modules/feature-search.php",
|
||||||
|
"groupTitle": "Search"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "get",
|
"type": "get",
|
||||||
"url": "?action=recentchanges",
|
"url": "?action=recentchanges",
|
|
@ -496,7 +496,7 @@
|
||||||
"group": "Error 4xx",
|
"group": "Error 4xx",
|
||||||
"optional": false,
|
"optional": false,
|
||||||
"field": "NonExistentPageError",
|
"field": "NonExistentPageError",
|
||||||
"description": "<p>The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit apge instead.</p>"
|
"description": "<p>The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit page instead.</p>"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Error 4xx",
|
"group": "Error 4xx",
|
||||||
|
@ -589,6 +589,24 @@
|
||||||
"filename": "./modules/feature-search.php",
|
"filename": "./modules/feature-search.php",
|
||||||
"groupTitle": "Search"
|
"groupTitle": "Search"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "get",
|
||||||
|
"url": "?action=idindex-show",
|
||||||
|
"title": "Show the id index.",
|
||||||
|
"description": "<p>Outputs the id index. Useful if you need to verify that it's working as expected.</p>",
|
||||||
|
"name": "SearchShowIdIndex",
|
||||||
|
"group": "Search",
|
||||||
|
"permission": [
|
||||||
|
{
|
||||||
|
"name": "Anonymous",
|
||||||
|
"title": "Anybody may use this call.",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "0.0.0",
|
||||||
|
"filename": "./modules/feature-search.php",
|
||||||
|
"groupTitle": "Search"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "get",
|
"type": "get",
|
||||||
"url": "?action=recentchanges",
|
"url": "?action=recentchanges",
|
|
@ -6,7 +6,7 @@ define({
|
||||||
"apidoc": "0.2.0",
|
"apidoc": "0.2.0",
|
||||||
"generator": {
|
"generator": {
|
||||||
"name": "apidoc",
|
"name": "apidoc",
|
||||||
"time": "2016-06-15T18:29:14.696Z",
|
"time": "2016-08-26T16:47:22.344Z",
|
||||||
"url": "http://apidocjs.com",
|
"url": "http://apidocjs.com",
|
||||||
"version": "0.16.1"
|
"version": "0.16.1"
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
"apidoc": "0.2.0",
|
"apidoc": "0.2.0",
|
||||||
"generator": {
|
"generator": {
|
||||||
"name": "apidoc",
|
"name": "apidoc",
|
||||||
"time": "2016-06-15T18:29:14.696Z",
|
"time": "2016-08-26T16:47:22.344Z",
|
||||||
"url": "http://apidocjs.com",
|
"url": "http://apidocjs.com",
|
||||||
"version": "0.16.1"
|
"version": "0.16.1"
|
||||||
}
|
}
|
|
@ -2159,6 +2159,20 @@ register_module([
|
||||||
search::rebuild_invindex();
|
search::rebuild_invindex();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @api {get} ?action=idindex-show Show the id index.
|
||||||
|
* @apiDescription Outputs the id index. Useful if you need to verify that it's working as expected.
|
||||||
|
* @apiName SearchShowIdIndex
|
||||||
|
* @apiGroup Search
|
||||||
|
* @apiPermission Anonymous
|
||||||
|
*/
|
||||||
|
add_action("idindex-show", function() {
|
||||||
|
global $idindex;
|
||||||
|
header("content-type: application/json; charset=UTF-8");
|
||||||
|
exit(json_encode($idindex, JSON_PRETTY_PRINT));
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {get} ?action=search&query={text} Search the wiki for a given query string
|
* @api {get} ?action=search&query={text} Search the wiki for a given query string
|
||||||
* @apiName Search
|
* @apiName Search
|
||||||
|
@ -2350,7 +2364,7 @@ class search
|
||||||
public static function tokenize($source)
|
public static function tokenize($source)
|
||||||
{
|
{
|
||||||
$source = strtolower($source);
|
$source = strtolower($source);
|
||||||
return preg_split("/((^\p{P}+)|(\p{P}*\s+\p{P}*)|(\p{P}+$))|\|/", $source, -1, PREG_SPLIT_NO_EMPTY);
|
return preg_split("/((^\p{P}+)|(\p{P}*\s+\p{P}*)|(\p{P}+$))|\|/u", $source, -1, PREG_SPLIT_NO_EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function strip_markup($source)
|
public static function strip_markup($source)
|
||||||
|
@ -2362,15 +2376,21 @@ class search
|
||||||
{
|
{
|
||||||
global $pageindex, $env, $paths;
|
global $pageindex, $env, $paths;
|
||||||
|
|
||||||
|
header("content-type: text/event-stream");
|
||||||
|
|
||||||
$invindex = [];
|
$invindex = [];
|
||||||
foreach($pageindex as $pagename => $pagedetails)
|
foreach($pageindex as $pagename => $pagedetails)
|
||||||
{
|
{
|
||||||
$pagesource = file_get_contents("$env->storage_prefix$pagename.md");
|
echo("Adding $pagename to the new search index.\n\n");
|
||||||
|
$pagesource = utf8_encode(file_get_contents("$env->storage_prefix$pagename.md"));
|
||||||
$index = self::index($pagesource);
|
$index = self::index($pagesource);
|
||||||
|
|
||||||
self::merge_into_invindex($invindex, ids::getid($pagename), $index);
|
self::merge_into_invindex($invindex, ids::getid($pagename), $index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo("Search index rebuilding complete.\n\n");
|
||||||
|
echo("Saving new search index to '$paths->searchindex'.\n\n");
|
||||||
|
|
||||||
self::save_invindex($paths->searchindex, $invindex);
|
self::save_invindex($paths->searchindex, $invindex);
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
"author": "Starbeamrainbowlabs",
|
"author": "Starbeamrainbowlabs",
|
||||||
"description": "Adds proper search functionality to Pepperminty Wiki using an inverted index to provide a full text search engine. If pages don't show up, then you might have hit a stop word. If not, try requesting the `invindex-rebuild` action to rebuild the inverted index from scratch.",
|
"description": "Adds proper search functionality to Pepperminty Wiki using an inverted index to provide a full text search engine. If pages don't show up, then you might have hit a stop word. If not, try requesting the `invindex-rebuild` action to rebuild the inverted index from scratch.",
|
||||||
"id": "feature-search",
|
"id": "feature-search",
|
||||||
"lastupdate": 1471791401,
|
"lastupdate": 1472229999,
|
||||||
"optional": false
|
"optional": false
|
||||||
},
|
},
|
||||||
{
|
{
|
|
@ -64,6 +64,20 @@ register_module([
|
||||||
search::rebuild_invindex();
|
search::rebuild_invindex();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @api {get} ?action=idindex-show Show the id index.
|
||||||
|
* @apiDescription Outputs the id index. Useful if you need to verify that it's working as expected.
|
||||||
|
* @apiName SearchShowIdIndex
|
||||||
|
* @apiGroup Search
|
||||||
|
* @apiPermission Anonymous
|
||||||
|
*/
|
||||||
|
add_action("idindex-show", function() {
|
||||||
|
global $idindex;
|
||||||
|
header("content-type: application/json; charset=UTF-8");
|
||||||
|
exit(json_encode($idindex, JSON_PRETTY_PRINT));
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {get} ?action=search&query={text} Search the wiki for a given query string
|
* @api {get} ?action=search&query={text} Search the wiki for a given query string
|
||||||
* @apiName Search
|
* @apiName Search
|
||||||
|
@ -255,7 +269,7 @@ class search
|
||||||
public static function tokenize($source)
|
public static function tokenize($source)
|
||||||
{
|
{
|
||||||
$source = strtolower($source);
|
$source = strtolower($source);
|
||||||
return preg_split("/((^\p{P}+)|(\p{P}*\s+\p{P}*)|(\p{P}+$))|\|/", $source, -1, PREG_SPLIT_NO_EMPTY);
|
return preg_split("/((^\p{P}+)|(\p{P}*\s+\p{P}*)|(\p{P}+$))|\|/u", $source, -1, PREG_SPLIT_NO_EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function strip_markup($source)
|
public static function strip_markup($source)
|
||||||
|
@ -267,15 +281,21 @@ class search
|
||||||
{
|
{
|
||||||
global $pageindex, $env, $paths;
|
global $pageindex, $env, $paths;
|
||||||
|
|
||||||
|
header("content-type: text/event-stream");
|
||||||
|
|
||||||
$invindex = [];
|
$invindex = [];
|
||||||
foreach($pageindex as $pagename => $pagedetails)
|
foreach($pageindex as $pagename => $pagedetails)
|
||||||
{
|
{
|
||||||
$pagesource = file_get_contents("$env->storage_prefix$pagename.md");
|
echo("Adding $pagename to the new search index.\n\n");
|
||||||
|
$pagesource = utf8_encode(file_get_contents("$env->storage_prefix$pagename.md"));
|
||||||
$index = self::index($pagesource);
|
$index = self::index($pagesource);
|
||||||
|
|
||||||
self::merge_into_invindex($invindex, ids::getid($pagename), $index);
|
self::merge_into_invindex($invindex, ids::getid($pagename), $index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo("Search index rebuilding complete.\n\n");
|
||||||
|
echo("Saving new search index to '$paths->searchindex'.\n\n");
|
||||||
|
|
||||||
self::save_invindex($paths->searchindex, $invindex);
|
self::save_invindex($paths->searchindex, $invindex);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue