<?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 MetadataSearch.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>9369b4a991666bc911474806b106d8958e79f4c1 - SearchIndex: rector, phpcs, type hint fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#9369b4a991666bc911474806b106d8958e79f4c1</link>
        <description>SearchIndex: rector, phpcs, type hint fixes

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.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/MetadataSearch.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/MetadataSearch.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/MetadataSearch.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/MetadataSearch.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>6734bb8cef71e8b4af23e627d4db5430304d55a2 - SearchIndex: rewrite MetadataSearch to use Collection classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#6734bb8cef71e8b4af23e627d4db5430304d55a2</link>
        <description>SearchIndex: rewrite MetadataSearch to use Collection classesReplace MetadataIndex usage in MetadataSearch with the new Collection/Indexarchitecture. This completes the read-path migration so data written by theCollection-based Indexer is read back correctly using TupleOps tuple format.Generalize FrequencyCollectionSearch into CollectionSearch that works with anyAbstractCollection type (Frequency, Lookup, Direct) and handles bothsplit-by-length and non-split index layouts transparently. DirectCollectionparticipates via resolveTokenFrequencies() which maps token RID = entity RID.Key changes:- AbstractCollection gains isSplitByLength(), resolveTokenFrequencies(),  getEntitiesWithData(), and groupToSuffix() with validation- Index groups are now int (0 = non-split, positive = token length)- CollectionSearch provides both addTerm()/execute() for fulltext and  lookup() for metadata-style search (exact/wildcard/callback)- MetadataSearch delegates entirely to collection APIs- Shared filterPages() replaces duplicated page filtering logic- All callers updated from MetadataIndex to MetadataSearch- Tests moved to Search namespace with full coverage for new APIs

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Tue, 07 Apr 2026 13:33:54 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>0b1bbbbb7d4e3c531cd255dbf878ce27d5967a0c - SearchIndex: rewrite FulltextSearch to use FrequencyCollectionSearch</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#0b1bbbbb7d4e3c531cd255dbf878ce27d5967a0c</link>
        <description>SearchIndex: rewrite FulltextSearch to use FrequencyCollectionSearchReplace FulltextIndex-&gt;lookupWords() with FrequencyCollectionSearch whichcorrectly handles the compact tuple format written by the new Indexer.Introduce QueryEvaluator with typed stack entries (PageSet,NamespacePredicate, NegatedEntry) for RPN query evaluation. NOT wrapsits operand instead of computing a universe complement, so AND with anegated operand becomes efficient set subtraction. The full page indexis only loaded for standalone negative or namespace-only queries.Move QueryParser and QueryEvaluator into the new Search\Query namespacealong with the stack entry types.Simplify FulltextSearch to orchestration: parse query, look up words,evaluate, filter, sort. Replace FT_SNIPPET_NUMBER constant withmaxSnippets property. Combine ACL/existence/time filtering into asingle pass.

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Mon, 06 Apr 2026 16:01:31 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>a02395a1a2bed351d474b885b6a9b7ef5345a611 - catch up #3115 Sort with collator</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#a02395a1a2bed351d474b885b6a9b7ef5345a611</link>
        <description>catch up #3115 Sort with collator

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Mon, 29 Nov 2021 11:10:57 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>fab81cc8d9f8ae6dbaa16254159007a2d6d9a8d0 - added missing &apos;notns&apos; related code</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#fab81cc8d9f8ae6dbaa16254159007a2d6d9a8d0</link>
        <description>added missing &apos;notns&apos; related code

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Mon, 29 Nov 2021 10:28:59 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cc3a3cde95a4a0b4a256109c08f12d3d6227a56a - change MetadataSearch and FulltextSearch to non-singleton</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#cc3a3cde95a4a0b4a256109c08f12d3d6227a56a</link>
        <description>change MetadataSearch and FulltextSearch to non-singletonsingleton is not effective to reduce multiple instantiations, especially for MetadataSearch which is frequently used in ajax call.

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sat, 26 Sep 2020 01:41:16 +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/MetadataSearch.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/MetadataSearch.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>9329b002986cc3f43c18c207dd9d0fdfd0f8a5e8 - change static methods into instance methods</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#9329b002986cc3f43c18c207dd9d0fdfd0f8a5e8</link>
        <description>change static methods into instance methods

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sun, 02 Feb 2020 13:44:41 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4a90f94b55b3a94c99860a8c4f347d47a017ab41 - move backlinks() and mediause() into MediaIndex class</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#4a90f94b55b3a94c99860a8c4f347d47a017ab41</link>
        <description>move backlinks() and mediause() into MediaIndex class

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sun, 02 Feb 2020 00:26:06 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>02361d2a8a489d99bde9646525952bf8dff51577 - define getPages() in AbstractIndex instead of PageIndex</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#02361d2a8a489d99bde9646525952bf8dff51577</link>
        <description>define getPages() in AbstractIndex instead of PageIndexgetPages() is inherited to each subclass of AbstractIndex, but MetadataIndex::getPages() will override the inherited method.

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Mon, 20 Jan 2020 12:18:44 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>be5c1ea2da9ce21461b05de9ad624446de1786be - move lookup() to PagewordIndex class, reduce term &apos;Indexer&apos;</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#be5c1ea2da9ce21461b05de9ad624446de1786be</link>
        <description>move lookup() to PagewordIndex class, reduce term &apos;Indexer&apos;make similar MetadataIndex::lookupKey() and PagewordIndex::lookup()

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sun, 19 Jan 2020 08:12:40 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>46b83514ca215ee33366a5c9f42f7da7812ef9ed - resolve conflictions, CodeSniffer errors</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#46b83514ca215ee33366a5c9f42f7da7812ef9ed</link>
        <description>resolve conflictions, CodeSniffer errors

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sun, 19 Jan 2020 01:59:48 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>185796b341f60d8350e40e9d53cd639dceb88865 - allow public access to getIndex(), etc.</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#185796b341f60d8350e40e9d53cd639dceb88865</link>
        <description>allow public access to getIndex(), etc.

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Mon, 13 Jan 2020 09:19:57 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>86fc72834c9811f103d0b8cc83fd250d506c161f - separate methods into metadata, Pageword, Page index classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#86fc72834c9811f103d0b8cc83fd250d506c161f</link>
        <description>separate methods into metadata, Pageword, Page index classes

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Tue, 07 Jan 2020 14:25:05 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>fe2d1da1fb3adc9a3f56c51d05c81c04a7b51491 - change class name to MetadataSearch</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Search/MetadataSearch.php#fe2d1da1fb3adc9a3f56c51d05c81c04a7b51491</link>
        <description>change class name to MetadataSearch

            List of files:
            /dokuwiki/inc/Search/MetadataSearch.php</description>
        <pubDate>Sun, 05 Jan 2020 09:50:14 +0000</pubDate>
        <dc:creator>Satoshi Sahara &lt;sahara.satoshi@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
