<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/search-results/</id><title>Search Results</title><updated>2012-04-06T17:02:19Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/search-results/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/search-results/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/20596200256</id><title type="html">Only Stable Releases are Indexed</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2012/stable-only-indexed/"/><updated>2026-10-07T16:13:48Z</updated><published>2012-04-06T17:02:19Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="release" label="Release"/><category scheme="https://blog.pgxn.org/tags" term="status" label="Status"/><category scheme="https://blog.pgxn.org/tags" term="release-status" label="Release Status"/><category scheme="https://blog.pgxn.org/tags" term="stable" label="Stable"/><category scheme="https://blog.pgxn.org/tags" term="testing" label="Testing"/><category scheme="https://blog.pgxn.org/tags" term="unstable" label="Unstable"/><category scheme="https://blog.pgxn.org/tags" term="full-text-index" label="Full Text Index"/><category scheme="https://blog.pgxn.org/tags" term="fti" label="FTI"/><category scheme="https://blog.pgxn.org/tags" term="search-results" label="Search Results"/><category scheme="https://blog.pgxn.org/tags" term="adaptive-estimator" label="Adaptive Estimator"/><summary type="html"><![CDATA[I&rsquo;ve had a few reports over the last few months that folks uploaded new
extensions to <a href="https://pgxn.org/">PGXN</a> but they failed to show up in search results. For
example, as of right now, if you <a href="https://pgxn.org/search?q=distinct&amp;in=docs">search for &ldquo;distinct&rdquo;</a>, you get two results,
<a href="https://pgxn.org/dist/omnipitr/doc/internals.html">OmniPITR</a> and <a href="https://pgxn.org/dist/pgtap/doc/pgtap.html">pgTAP</a>. This despite the fact that the recently-released
<a href="https://pgxn.org/dist/adaptive_estimator/">adaptive_estimator</a> extension is <a href="https://pgxn.org/tag/distinct/">tagged &ldquo;distinct&rdquo;</a>. Author <a href="https://pgxn.org/user/tomasv">Tomas Vondra</a>
reported this issue, and it took me a couple of days to realize why it wasn&rsquo;t
showing up.]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>I&rsquo;ve had a few reports over the last few months that folks uploaded new
extensions to <a href="https://pgxn.org/">PGXN</a> but they failed to show up in search results. For
example, as of right now, if you <a href="https://pgxn.org/search?q=distinct&amp;in=docs">search for &ldquo;distinct&rdquo;</a>, you get two results,
<a href="https://pgxn.org/dist/omnipitr/doc/internals.html">OmniPITR</a> and <a href="https://pgxn.org/dist/pgtap/doc/pgtap.html">pgTAP</a>. This despite the fact that the recently-released
<a href="https://pgxn.org/dist/adaptive_estimator/">adaptive_estimator</a> extension is <a href="https://pgxn.org/tag/distinct/">tagged &ldquo;distinct&rdquo;</a>. Author <a href="https://pgxn.org/user/tomasv">Tomas Vondra</a>
reported this issue, and it took me a couple of days to realize why it wasn&rsquo;t
showing up.</p>
<p>Here&rsquo;s the reason: Only &ldquo;stable&rdquo; releases are indexed. The <a href="https://pgxn.org/dist/adaptive_estimator/1.0.0/">first</a> and
<a href="https://pgxn.org/dist/adaptive_estimator/1.1.0/">second</a> adaptive_estimator releases both have their release status set to
&ldquo;testing&rdquo;. The PGXN API only indexes stable releases. The idea behind that is
that you want most folks to continue using stable releases while you work on
testing new versions. So when users search the site, only the latest stable
release will appear in search results. Similarly, installing an extension via
the <a href="https://pgxnclient.projects.postgresql.org/">PGXN client</a>, prefers the latest stable release by default. If you want
the most recent, you have to <a href="https://pgxnclient.projects.postgresql.org/usage.html#pgxn-install">specify the <code>--unstable</code> or <code>--testing</code> option</a>.</p>
<p>So, the upshot is, if you want your extension to appear in the full text
search results on the PGXN, site, release a stable version.</p>
<p>That said, I first noticed this issue a while ago, and filed <a href="https://github.com/pgxn/pgxn-api/issues/2">an issue</a> with
the idea that, if an extension is uploaded that is not stable, but there are
no stable versions, then the extension should be indexed, anyway. The idea
here is that, when you first upload it, you don&rsquo;t have any existing users to
keep on a stable release anyway, because there <em>is no stable release.</em> So
perhaps we should go ahead and index it. A non-stable release would only be
omitted from the index if there was an existing stable release.</p>
<p>Thoughts?</p>
]]></content></entry><entry><id>https://blog.pgxn.org/post/4018670551</id><title type="html">Thoughts on Indexing and Documentation</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2011/indexing-docs/"/><updated>2026-10-07T16:13:48Z</updated><published>2011-03-22T05:13:00Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="indexing" label="Indexing"/><category scheme="https://blog.pgxn.org/tags" term="full-text-search" label="Full Text Search"/><category scheme="https://blog.pgxn.org/tags" term="readme" label="README"/><category scheme="https://blog.pgxn.org/tags" term="documentation" label="Documentation"/><category scheme="https://blog.pgxn.org/tags" term="search-results" label="Search Results"/><category scheme="https://blog.pgxn.org/tags" term="search" label="Search"/><summary type="html"><![CDATA[<p>So I&rsquo;m designing the full text indexing for the PGXN search site. I&rsquo;m modeling
it on <a href="https://http//search.cpan.org">CPAN Search</a>, which has been great. There are four search options:</p>
<ul>
<li>Full documentation search. This is the most common. Includes doc title and
body.</li>
<li>User search. Search on names, nicknames, email addresses, URIs, etc.</li>
<li>Distribution search. Search on distribution name, abstract, description,
tags, and the README.</li>
<li>Extension search. Search on extension name and abstract.</li>
<li>Tag search. Search on tag name only.</li>
</ul>
<p>The documentation search is the one I&rsquo;m perhaps least sure about. It assumes
that each extension in a distribution will have documentation. But so far that
has not really been the practice for PostgreSQL extensions. Most folks seem to
stick the documentation in the README. And even then it can be <a href="https://master.pgxn.org/dist/countnulls/1.0.0/README.txt">almost
nothing</a>. So a search for &ldquo;count nulls&rdquo; probably would not find &ldquo;countnulls&rdquo;
extension, because there is no documentation. What should I do about this? I&rsquo;m
thinking one of:</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>So I&rsquo;m designing the full text indexing for the PGXN search site. I&rsquo;m modeling
it on <a href="https://http//search.cpan.org">CPAN Search</a>, which has been great. There are four search options:</p>
<ul>
<li>Full documentation search. This is the most common. Includes doc title and
body.</li>
<li>User search. Search on names, nicknames, email addresses, URIs, etc.</li>
<li>Distribution search. Search on distribution name, abstract, description,
tags, and the README.</li>
<li>Extension search. Search on extension name and abstract.</li>
<li>Tag search. Search on tag name only.</li>
</ul>
<p>The documentation search is the one I&rsquo;m perhaps least sure about. It assumes
that each extension in a distribution will have documentation. But so far that
has not really been the practice for PostgreSQL extensions. Most folks seem to
stick the documentation in the README. And even then it can be <a href="https://master.pgxn.org/dist/countnulls/1.0.0/README.txt">almost
nothing</a>. So a search for &ldquo;count nulls&rdquo; probably would not find &ldquo;countnulls&rdquo;
extension, because there is no documentation. What should I do about this? I&rsquo;m
thinking one of:</p>
<ul>
<li>
<p>Encourage folks to write documentation. I&rsquo;m going to do this anyway, because
the docs will really help the visibility of an extension on the site. It
looks <a href="https://theory.github.com/pgxn/pgtap.html">like this</a>. If you have no docs for an extension, your extension will
not appear in the search results (or perhaps it might, but link to the
distribution).</p>
</li>
<li>
<p>If there is no documentation for an extension in a distribution, index the
README as the documentation. I&rsquo;m not really keen on this idea, because the
README should describe the distribution, how to install it, etc. I&rsquo;m
planning to use it in the distribution-specific index. Documentation of the
extension should be more about how the extension works, what it&rsquo;s interface
is, etc. Or so it seems to me, at least (I&rsquo;m admittedly biased to this
practice among CPAN modules). But at least with this approach there would be
a link to &ldquo;documentation&rdquo; for an extension on the search site.</p>
</li>
</ul>
<p>Erm, not really thinking of any other options. I feel pretty strongly that
folks should write docs for their extensions, as much as possible, and I&rsquo;ve
set things up so that, from PGXN&rsquo;s point of view, at least, you can write
documentation in whatever format you like (assuming the format is supported by
or added to <a href="https://search.cpan.org/perldoc?Text::Markup">Text::Markup</a>), as long as they&rsquo;re in a <code>doc/</code> or <code>docs</code>
directory. I want it to be as easy as possible. But I also want there to be
decent search results ASAP.</p>
<p>Comments?</p>
]]></content></entry></feed>