summaryrefslogtreecommitdiff
path: root/inc/indexer.php
Commit message (Collapse)AuthorAge
* Remove error supression for file_exists()Andreas Gohr2015-01-07
| | | | | | | In an older version of PHP a file_exists() call would issue a warning when the file did not exist. This was fixed in later PHP releases. Since we require PHP 5.3 now, there's no need to supress any error here anymore. This might even give a minor performance boost.
* more phpdocs and minor checkGerrit Uitslag2014-10-01
|
* Many PHPDocs, some unused and dyn declared varsGerrit Uitslag2014-10-01
| | | | | | many PHPDocs some unused variables some dynamically declared variables declared
* Refactor updateTuple()Christopher Smith2014-03-12
| | | | | The existing function was difficult to follow. It worked when adding a new tuple, but not in the most sensible manner.
* resolve notices generated in calls to updateTuple() when $metaidx[$id] ↵Christopher Smith2014-03-06
| | | | doesn't exist
* add some braces (just style, not E_ALL)Christopher Smith2014-03-05
|
* Fix indexing numeric words in page contentsMichael Hamann2013-12-11
| | | | | | | Since a8dba4523d2ecd09dd69a68a36673eaf5c009c57 the search index didn't properly index numeric words anymore, instead they were added as new words to the word list each time they were indexed, leading to an ever-increasing index size.
* Merge pull request #380 from splitbrain/phpstrictAndreas Gohr2013-10-20
|\ | | | | Php strict
| * replace boolean conditional checks on possibly uninitialized vars with ↵Christopher Smith2013-10-16
| | | | | | | | \!empty/empty/isset as appropriate
* | Fix FS#2854: Treat numerically different keys as differentMichael Hamann2013-10-19
|/
* Index media file usage in the metadata index and use it in ft_mediause()Michael Hamann2013-07-31
|
* Indexer: Remove broken and dead readdircache code FS#2771Michael Hamann2013-05-05
| | | | | | | | | | | | | The code that is removed in this commit has either never been used (listIndexLenghts) or was completely broken (cacheIndexDir) and was introduced in the indexer rewrite in 2010. The idea of the rewrite was to update the readdir cache after every index change instead of on demand. What the code actually did was removing every updated index from the cache as it used a wrong if condition. Simply fixing the condition wouldn't fix the problem as then only updated indexes would be added to the cache and furthermore the rewrite simply ignored the readdircache setting. For now the safest solution seems to be removing the code. It could be added again in a changed form in a future version.
* Indexer: Fix wrong suffix parameterMichael Hamann2013-05-05
| | | | | The suffix parameter is only for the word length in the word index and not for the metadata index.
* Indexer: abort page rename if deletion of new id failsMichael Hamann2013-01-26
|
* Indexer: added internal deletePageNoLock methodMichael Hamann2013-01-26
| | | | | The new deletePageNoLock method is used by renamePage and avoids that the index needs to be unlocked and locked again for deleting the page.
* Clarified the behavior of the Doku_Indexer::renamePage methodMichael Hamann2013-01-26
|
* Indexer: Added page and meta value rename functionsMichael Hamann2013-01-19
| | | | | | With these functions that search index can be updated after page moves or mass metadata updates without the need to reindex the whole page/wiki. These functions will be used by the new pagemove plugin.
* Remove global $Indexer, clear index in the testing system insteadMichael Hamann2012-12-20
|
* Add clear function to the indexer that deletes the whole indexMichael Hamann2012-12-20
|
* Indexer: Make $Indexer in idx_get_indexer() global instead of staticMichael Hamann2012-12-04
| | | | | | | This avoids problems with test cases that use the indexer and the PID cache - the index is cleaned between test cases but the PID cache wasn't cleaned. Now PHPUnit can unset the global $Indexer between test cases.
* Indexer: Add cache for getPID()Michael Hamann2012-12-04
| | | | | | This avoids re-reading of the page index file for every getPID()-call by using a simple FIFO cache, limited to 10 items. In idx_addPage() and the functions that it calls getPID() is called 3 times for the same PID.
* Indexer: add getPID/getPageFromPID functions and PID to INDEXER_PAGE_ADDMichael Hamann2012-12-03
| | | | | | This allows plugins to get the PID for a page and also to get the page for a certain PID. That way plugins can build their own index that uses numeric ids.
* Fix inconsistent return values in the indexer and in getInfo()Michael Hamann2012-07-28
|
* Fixed and extended PHPDoc comments and added additional @var commentsMichael Hamann2012-07-28
|
* Fix index histogram minlen parameter for metadata keysMichael Hamann2012-07-28
| | | | This includes a test for the minlen parameter for metadata keys
* Remove unused variablesMichael Hamann2012-07-28
|
* Fix type declarations in some PHPDoc commentsMichael Hamann2012-07-25
|
* coding style updatesAndreas Gohr2012-03-16
|
* Fix page deletion in the indexerMichael Hamann2012-03-15
| | | | | | This fixes page deletion in the indexer and fixes a but where empty lines were added to the _i.idx file of metadata for which no value was set (harmless, and wasn't executed anyway).
* Indexer: Check for deleted pages first FS#2469Michael Hamann2012-03-15
| | | | | | This move the check if the page doesn't exist anymore but is still in the index before the check if the index needs to be updated as otherwise deleted pages won't be deleted from the index.
* Force search index update after fixing the lowercasing of wordsMichael Hamann2011-06-14
| | | | | | This increases the indexer version in order to force a rebuild of the search index in order to "repair" the search index that might contain uppercase words
* Fix lowercasing of words in the indexer FS#2270Michael Hamann2011-06-14
| | | | | | On certain PHP installations (it has been reproduced with PHP version 5.2.0-8+etch11) the indexer failed to lowercase words in the indexer so the fulltext search was partially broken.
* Fix variable name typo in indexerAdrian Lang2011-05-23
|
* Add more render/cache logic to the metadata codeMichael Hamann2011-05-08
| | | | | | | | | | | | | | | | | | | | This adds a new rendering limit of currently 5 pages to the p_get_metadata function. This means that in one request not more than 3 pages will be parsed/rendered. Pages for which the cache can be used aren't counted. This should make the new cache modes safe to use and should provide backwards compatibility while keeping the advantage of rendering metadata on demand (i.e. imagine one included page out of 10 is updated, then the metadata for that page can be rendered, but when you request a purge of the cache not 10 pages are rendered). In this commit most of the changes to the p_get_first_heading function are reverted and the title index is no longer used. This makes the first heading functionality no longer depends on the search index of DokuWiki. Maybe it can be added again later when the indexer provides a proper API for getting metadata values for all or selected pages. The performance of the p_get_first_heading function should be almost back to the performance in Anteater as the simple cache of p_get_metadata is used and also the limit of p_get_metadata is of course applied.
* Add a test to do=check that should detect search index corruptionMichael Hamann2011-05-02
| | | | | | With this test it should be possible to detect if the search index has been corrupted by using Rincewind RC or a git version of the weeks before the RC release.
* Add a force option to idx_addPage()Michael Hamann2011-05-02
|
* Add line endings at the end of the fileMichael Hamann2011-05-02
| | | | | | | | | | | | The bug that is fixed here may have corrupted your search index in a way that it produces wrong or missing results and won't be fixed automatically. This occurs when you have deleted the last occurrence of a word that has been on the last line of one of the word indexes. A functionality for checking for a broken search index will be added. The index can be fixed by deleting it completely (remove all .idx files in data/index/) and recreating it using bin/indexer.php -c. The searchindex plugin will be updated to be able to do the same, soon.
* Fix a warning in the indexer when words exist without corresponding index ↵Michael Hamann2011-05-02
| | | | FS#2242
* Enable metadata rendering in the indexerMichael Hamann2011-04-20
| | | | Metadata is rendered now in the indexer when it's cache is invalid.
* Merge branch 'master' of https://github.com/akate/dokuwiki into akate-masterMichael Hamann2011-04-07
|\
| * indexer fix updating the search indexKate Arzamastseva2011-04-07
| |
* | Clarify usage of some indexer methodsTom N Harris2011-03-22
| |
* | Change Doku_Indexer visibility from private to protected, and get rid of ↵Tom N Harris2011-03-22
|/ | | | ugly underscores
* replace tokenizer_cmd with action hookAndreas Gohr2011-03-19
| | | | | as discussed at http://www.freelists.org/post/dokuwiki/tokenizer-cmd-in-indexer,1
* Remove relation_references from the index when it is missingMichael Hamann2011-03-08
|
* Merge the two indexer events and use string keysMichael Hamann2011-03-06
| | | | | | | This merges the INDEXER_PAGE_ADD and INDEXER_METADATA_INDEX events and introduces the new string keys 'page', 'body' and 'metadata' in the event data. All plugins that use INDEXER_PAGE_ADD need to be adjusted to use the key 'page' instead of 0 and 'body' instead of 1.
* Fix wildcard searchTom N Harris2011-02-27
|
* Restrict metadata values in indexer to string; skip unnecessary testTom N Harris2011-02-25
|
* Reduce memory footprint of tokenizer; make returned arrays use contiguous keysTom N Harris2011-02-25
|
* Fix pass by reference error, always return an array in lookupKey()Michael Hamann2011-02-24
|