<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Indexer.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>5d034a75ec636eaf8dd957fac678f8d04e5b23fc - SearchIndex: increase index version</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#5d034a75ec636eaf8dd957fac678f8d04e5b23fc</link>
        <description>SearchIndex: increase index version

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Wed, 08 Apr 2026 18:32:32 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>9369b4a991666bc911474806b106d8958e79f4c1 - SearchIndex: rector, phpcs, type hint fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#9369b4a991666bc911474806b106d8958e79f4c1</link>
        <description>SearchIndex: rector, phpcs, type hint fixes

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Wed, 08 Apr 2026 18:30:08 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>1148921de6af6909f19cb5b30b698d0f27d7751e - SearchIndex: unify CollectionSearch API and optimize search pipeline</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#1148921de6af6909f19cb5b30b698d0f27d7751e</link>
        <description>SearchIndex: unify CollectionSearch API and optimize search pipeline- Remove separate lookup() API from CollectionSearch. All searches now  use addTerm()/execute() with a single unified pipeline.- Add matches() predicate to Term using efficient string functions  (===, str_starts_with, str_ends_with, str_contains) instead of regex.- Add caseInsensitive() support on CollectionSearch and Term for  metadata/title searches where indexed values preserve case.- Remove callback support from MetadataSearch::lookupKey() &#8212; the only  real usage (case-insensitive substring) is replaced by  caseInsensitive() + wildcards.- Remove min-length validation from Term. Add Tokenizer::isValidSearchTerm()  for callers that need it (FulltextSearch, Indexer::lookup).- Optimize execute() from 4 group passes to 2: scan tokens + resolve  frequencies in one pass per group, batch entity name resolution, then  populate Terms.- Store full match detail in Term: entity &#8594; token &#8594; frequency. New  accessors getMatches(), getEntityTokens(), getEntityFrequencies()  derive different views from this single data structure.- Term no longer used as scratch pad by CollectionSearch. Index-internal  data (token IDs, entity IDs) stays local to execute(). Terms receive  only final resolved results.- Use title from search results in MetadataSearch::pageLookupCallBack()  instead of re-fetching via p_get_first_heading().- Update concept.txt documentation.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Wed, 08 Apr 2026 16:51:16 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>e1272c0811878577a2d543205c32808742d4a5da - SearchIndex: add backward compatibility wrappers</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#e1272c0811878577a2d543205c32808742d4a5da</link>
        <description>SearchIndex: add backward compatibility wrappersAdd deprecated wrappers for idx_* and ft_* functions that were removedwhen inc/indexer.php and inc/fulltext.php were replaced by the newSearch classes. These wrappers delegate to the new architecture andensure existing plugins continue to work.Deprecated standalone functions: idx_get_indexer, idx_getIndex,idx_lookup, idx_listIndexLengths, idx_indexLengths, ft_pageSearch,ft_backlinks, ft_mediause, ft_pageLookup, ft_snippet, ft_pagesorter,ft_snippet_re_preprocess, ft_queryParser.Deprecated methods on Indexer: lookupKey, getPages, addMetaKeys,renameMetaValue, getPID, lookup.Also migrates remaining core callers (Ajax, FeedCreator, ApiCore) touse the new classes directly and fixes a UTF-8 case folding bug inMetadataSearch title lookups.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Tue, 07 Apr 2026 17:55:12 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>21fbd01b3c3eea88b767376b7b158f31f0f63127 - SearchIndex: add integrity checking to Collection architecture</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#21fbd01b3c3eea88b767376b7b158f31f0f63127</link>
        <description>SearchIndex: add integrity checking to Collection architectureAdd checkIntegrity() to AbstractCollection and DirectCollection thatverifies paired indexes have matching line counts (token==frequency,entity==reverse, entity==token for direct collections). ThrowsIndexIntegrityException on the first inconsistency found.Add Countable interface to AbstractIndex with count() implementationsin MemoryIndex and FileIndex. Add Indexer::checkIntegrity() andIndexer::isIndexEmpty() to orchestrate checks across all collections.Update infoutils.php to use the new Indexer API instead of the oldFulltextIndex/MetadataIndex classes.Fix range(1, 0) bug in three places that produced [1, 0] instead ofan empty array when split-by-length indexes were empty.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Tue, 07 Apr 2026 16:09:22 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>83b3acccb42578eaa33f84e6b13612436320090b - SearchIndex: rewrite Indexer to use Collection classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#83b3acccb42578eaa33f84e6b13612436320090b</link>
        <description>SearchIndex: rewrite Indexer to use Collection classesReplace the intermediate #2943 classes (FulltextIndex, MetadataIndex)with the new Collection-based architecture. The Indexer is now a thinstateless orchestrator that delegates all index work to collections.Key changes:- Indexer no longer extends AbstractIndex; page name passed to methods- addPage/deletePage/clear use PageTitleCollection,  PageFulltextCollection, and PageMetaCollection- New PageMetaCollection replaces separate ReferencesCollection and  MediaCollection with a single class that handles arbitrary metadata  keys dynamically- Shared writable FileIndex(&apos;page&apos;) passed to all collections- Logger callback replaces verbose parameter- Methods return void instead of bool- Index classes implement IteratorAggregate for clean data access- Indexer tests consolidated into namespaced IndexerTest.php- All callers updated to new stateless API

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Mon, 06 Apr 2026 10:31:11 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>3df1553d73ccc6b91128934c7c96b716b3942a0c - use Logger::debug() instead of deprecated dbglog()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#3df1553d73ccc6b91128934c7c96b716b3942a0c</link>
        <description>use Logger::debug() instead of deprecated dbglog()

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Mon, 29 Nov 2021 13:11:09 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5792814ceec77d6d39fe39e061d967f18d685f34 - fix scrutinizer claims</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#5792814ceec77d6d39fe39e061d967f18d685f34</link>
        <description>fix scrutinizer claims

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 25 Sep 2020 09:01:54 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>725e8e5f1de55fe91234a551f65f436015c3615e - instantiate *Index with numeric page id</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#725e8e5f1de55fe91234a551f65f436015c3615e</link>
        <description>instantiate *Index with numeric page idwill reduce access to static $pidCache

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 25 Sep 2020 08:16:45 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a32da6dda625a55bd713657b22f3ab332757fca6 - change Index objects to non-singleton</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#a32da6dda625a55bd713657b22f3ab332757fca6</link>
        <description>change Index objects to non-singletonIndexer, FulltextIndex, MetadataIndex uses common directory to store *.idx files, but this does not mean they should be singleton objects to avoid lock confrictions.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 25 Sep 2020 07:15:28 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a16bd5489e1dd5e6c42803b19bc20d9231c91a16 - remove unnecessary if blocks</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#a16bd5489e1dd5e6c42803b19bc20d9231c91a16</link>
        <description>remove unnecessary if blocksgetPID(), saveIndex(), saveIndexKey(), getPageWords() return always true, otherwise exceptions.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Mon, 21 Sep 2020 13:41:44 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>15f699ac4db38c7098b4ae4cd0782dff13d46637 - replace user errors with exceptions</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#15f699ac4db38c7098b4ae4cd0782dff13d46637</link>
        <description>replace user errors with exceptionsExceptions are better to handle than errors. What I don&apos;t like is thatwe now have an unfortunate mix of return code and exception signallingfor errors. Some methods still return false for errors while othersnow throw exceptions (always returning true otherwise).

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Thu, 10 Sep 2020 15:33:48 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>abb227bc2532048e5b08018c1e7fbd794d051145 - add comment for $requireLock argument</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#abb227bc2532048e5b08018c1e7fbd794d051145</link>
        <description>add comment for $requireLock argument

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 13 Mar 2020 09:15:58 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>51ddbadd349647574755305e1ab08620b7a7ff43 - move histogram() into MetadataIndex class</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#51ddbadd349647574755305e1ab08620b7a7ff43</link>
        <description>move histogram() into MetadataIndex class

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Thu, 20 Feb 2020 13:53:30 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5f9bd5254db05edabb88ea752a027b5b6e4a7327 - Revert &quot;histogram() change args order&quot;</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#5f9bd5254db05edabb88ea752a027b5b6e4a7327</link>
        <description>Revert &quot;histogram() change args order&quot;This reverts commit 4d04b7bbfe9c97673b0f22586d88e161aca34f70.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Thu, 20 Feb 2020 10:06:19 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>11d2e7d0b6c01d01c6214ba4615f13d70e0da4b2 - simplify dispatch()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#11d2e7d0b6c01d01c6214ba4615f13d70e0da4b2</link>
        <description>simplify dispatch()

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Thu, 20 Feb 2020 09:21:21 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>653b91a2be74edfe6464286c3047a2627aae9ecc - AbstractIndex class const INDEX_MARK_DELETED</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#653b91a2be74edfe6464286c3047a2627aae9ecc</link>
        <description>AbstractIndex class const INDEX_MARK_DELETED

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Sat, 01 Feb 2020 05:35:48 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>743c9a28dd4c99f9336a634d173da73f2c7f1e59 - rename PagewordIndex to FulltextIndex</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#743c9a28dd4c99f9336a634d173da73f2c7f1e59</link>
        <description>rename PagewordIndex to FulltextIndex

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 31 Jan 2020 15:14:06 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5237d405738e589d0cdad340ab36d0df934d7bed - trigger error when lock/unlock index directory failed</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#5237d405738e589d0cdad340ab36d0df934d7bed</link>
        <description>trigger error when lock/unlock index directory failed

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 31 Jan 2020 13:32:02 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4d04b7bbfe9c97673b0f22586d88e161aca34f70 - histogram() change args order</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/Indexer.php#4d04b7bbfe9c97673b0f22586d88e161aca34f70</link>
        <description>histogram() change args orderINdexer::histogram() is only used in indexer_histogram.test.php file.

            List of files:
            /dokuwiki/inc/Search/Indexer.php</description>
        <pubDate>Fri, 31 Jan 2020 12:50:24 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
