Extended Search
bugs:173
Author: Your Name (Your Backtracker Handle, use ::::)
1. Introduction
Introduction of idea
[Sort by] [Filter]
2. Implementation Notes
- Some notes
- search on the word
- search on the current branch and its descendants (as the page WackoWiki represent a tree structure)
- search with the selection (such as "+ window-windows" to find a page containing floor window but does not contain the word windows)
- search highlighting
- more suggestions
Database Changes
- Required database changes to wacko_xyz_table
Configuration
- $_var indicates something
Data used
Basic
- page title
- page name (tag)
- page name (if got different menu name)
- page description (if set manually)
- page keywords (if set manually)
- PAGE CONTENT
- anchor text from the links linking to this page form other pages in our system
- taggings (not yet implemeted)
Scope
- page
- comment
- file
Relevance
- time
- revisions
- user
- some magic factors
- page language
- watchers
- links
- backlinks
- views
- authors
- categories
- size
- files
Filter
- exclude system (owner) pages
- include comments
- include files
- lang
- cluster
- categories
Results [pages, comments, files]
- title
- tag
- categories
- body
- last editor
- owner
- last modified
- created
- page / comment
- cluster
- user / system page
- attached / linked files (count)
- language
- comments (count)
- categories
- revisions (count)
Preview (teaser)
2.1. Limits
URL length: 256 bytes limit on some browsers
JSON method
$array = array(2, 46, 34, 'text'); $serialized = json_encode($array) $data = 'array=' . rawurlencode($serialized); // Send to page via cURL, header() or other service.
code for receiving page:
$array = json_decode($_GET['array']); // Or $_POST['array'] if a post request.
Implementation Log
3. Other Changes
4. Related Links
- https://archive.org/search.php?query=Ward Cunningham - example for faceted search
- http://www.uxmatters.com/mt/ar[...]d-search-filters.php
- https://ux.stackexchange.com/q[...]ing-links-vs-checkbo
- https://www.mullie.eu/mysql-as-a-search-engine/
MariaDb/MySql
- https://dev.mysql.com/doc/refm[...]ulltext-boolean.html
- https://dev.mysql.com/doc/refm[...]xt-restrictions.html
- https://dev.mysql.com/doc/refm[...]ltext-stopwords.html
5. Future Ideas
- Faceted navigation index tables
- One table contains a list of the object facets and the other contains facts about the objects.
-
<?php
/**
* Populates the object_facts table with data from the objects table
*/
function populate_object_facts()
{
//empty object_facts table
$this->sql_query ("TRUNCATE objects_facts");
//fetch all object data
$result = $this->load_all ("SELECT * FROM objects");
//loop through table columns
foreach ($result as $key => $value)
{
//create facts for all object fields except 'id' and 'name'
if ($key != "id" && $key != "name")
{
$sql = "INSERT INTO objects_facts VALUES (" . $row['id'] . ",$facet_id,'$key','$value');";
$this->sql_query ($sql);
$facet_id++;
echo "Added fact: (".$row['id'].", $facet_id, $key, $value) <br/>";
}
}
}
6. Feedback
- Please provide feedback