{"title":"Cuardach téacs iomlán","version":"6.0","locale":"ga","docname":"ref/contrib/postgres/search","url":"/ga/6.0/ref/contrib/postgres/search/","canonical":"https://djangodocs.dev/ga/6.0/ref/contrib/postgres/search/","summary":"< https://www.postgresql.org/docs/current/textsearch.html >Éascaíonn feidhmeanna an bhunachar sonraí sa mhodúl django.contrib.postgres.search úsáid `inneall…","html":"<h1>Cuardach téacs iomlán<a class=\"heading-anchor\" href=\"#full-text-search\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>&lt; <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/textsearch.html\">https://www.postgresql.org/docs/current/textsearch.html</a>&gt;Éascaíonn feidhmeanna an bhunachar sonraí sa mhodúl <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.search</span></code> úsáid <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`inneall cuardaigh téacs iomlán`_</span></a> PostgreSQL.</p>\n<p>Maidir leis na samplaí sa doiciméad seo, úsáidfimid na samhlacha atá sainmhínithe in:doc: /topics/db/queries.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<p>Le haghaidh forbhreathnú ardleibhéil ar chuardach, féach an:doc: doiciméadú topaic &lt;/topics/db/search&gt;.</p>\n</aside>\n<section id=\"the-search-lookup\">\n<h2>An cuardach <code class=\"docutils literal notranslate\"><span class=\"pre\">chuardach</span></code><a class=\"heading-anchor\" href=\"#the-search-lookup\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p id=\"std-fieldlookup-search\">Bealach coitianta chun cuardach téacs iomlán a úsáid ná téarma amháin a chuardach i gcoinne colún amháin sa bhunachar sonraí. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">body_text__search</span><span class=\"o\">=</span><span class=\"s2\">&quot;Cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza Recipes&gt;]&gt;</span>\n</code></pre></div>\n<p>Cruthaíonn sé seo <code class=\"docutils literal notranslate\"><span class=\"pre\">to_tsvector</span></code> sa bhunachar sonraí ón réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">body_text</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">plainto_tsquery</span></code> ón téarma cuardaigh <code class=\"docutils literal notranslate\"><span class=\"pre\">`Cheise</span></code>, ag baint úsáide as an gcumraíocht réamhshocraithe cuardaigh bunachar sonraí. Faightear na torthaí tríd an gceist agus an veicteoir a mheaitseáil.</p>\n<p>Chun an cuardach <code class=\"docutils literal notranslate\"><span class=\"pre\">search</span></code> a úsáid, caithfidh <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres'</span></code> a bheith i d':setting: INSTALLED_APPS.</p>\n</section>\n<section id=\"searchvector\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchVector</span></code><a class=\"heading-anchor\" href=\"#searchvector\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.SearchVector\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchVector</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">config</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">weight</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.SearchVector\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tá sé iontach cuardach i gcoinne réimse amháin ach teorannach. Baineann na cásanna <code class=\"docutils literal notranslate\"><span class=\"pre\">Iontrála</span></code> atá á chuardach againn le <code class=\"docutils literal notranslate\"><span class=\"pre\">Blog</span></code>, a bhfuil réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">tagline</span></code> aige. Chun ceist a dhéanamh i gcoinne an dá réimse, bain úsáid as <code class=\"docutils literal notranslate\"><span class=\"pre\">SearchVector</span></code>:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchVector</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;blog__tagline&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"s2\">&quot;Cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza Recipes&gt;]&gt;</span>\n</code></pre></div>\n<p>Is féidir leis na hargóintí le SearchVector` a bheith aon:class: ~django.db.Models.Expression nó ainm réimse. Déanfar argóintí iolracha a chomhcheangal le chéile ag baint úsáide as spás ionas go gcuimsíonn an doiciméad cuardaigh iad uile</p>\n<p>Is féidir rudaí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>SearchVector <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a chomhcheangal le chéile, rud a ligeann duit iad a athúsáid. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;blog__tagline&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"s2\">&quot;Cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza Recipes&gt;]&gt;</span>\n</code></pre></div>\n<p>Féach:ref: postgresql-fts-search-cumraí agus:ref: postgresql-fts-weighting-queries le haghaidh míniú ar na paraiméadair config` agus meách`.</p>\n</section>\n<section id=\"searchquery\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Cuardcheiste</span></code><a class=\"heading-anchor\" href=\"#searchquery\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.SearchQuery\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchQuery</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">config</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">search_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'plain'</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.SearchQuery\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Aistríonn <code class=\"docutils literal notranslate\"><span class=\"pre\">SearchQuery</span></code> na téarmaí a sholáthraíonn an t-úsáideoir ina réad fiosrúcháin cuardaigh a dhéanann an bunachar sonraí comparáid le veicteoir cuardaigh. De réir réamhshocraithe, cuirtear na focail go léir a sholáthraíonn an t-úsáideoir tríd na halgartaim spreagtha, agus ansin féachann sé cluichí do na téarmaí go léir mar thoradh air.</p>\n<p>Más é <code class=\"docutils literal notranslate\"><span class=\"pre\">search_type</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">plain'</span></code>, arb é an réamhshocrú, déileálfar leis na téarmaí mar eochairfhocail ar leithligh. Más é <code class=\"docutils literal notranslate\"><span class=\"pre\">search_type</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">frase</span> <span class=\"pre\">'</span></code>, déileáiltear leis na téarmaí mar abairt amháin. Más é <code class=\"docutils literal notranslate\"><span class=\"pre\">search_type</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">raw'</span></code>, ansin is féidir leat ceist cuardaigh formáidithe a sholáthar le téarmaí agus oibreoirí. Más é <code class=\"docutils literal notranslate\"><span class=\"pre\">search_type</span></code> <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>websearch', ansin is féidir leat ceist cuardaigh formáidithe a sholáthar, cosúil leis an gceann a úsáideann innill chuardaigh gréasáin. Éilíonn <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>'websearch'` PostgreSQL ≥ 11. Léigh PostgreSQL <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\">Doiciméid Cuardaigh Téacs Iomlána</a> chun foghlaim faoi dhifríochtaí agus comhréireacht. Samplaí:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span><span class=\"p\">,</span> <span class=\"n\">Lexeme</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;red tomato&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># two keywords</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;tomato red&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># same results as above</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;red tomato&quot;</span><span class=\"p\">,</span> <span class=\"n\">search_type</span><span class=\"o\">=</span><span class=\"s2\">&quot;phrase&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># a phrase</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;tomato red&quot;</span><span class=\"p\">,</span> <span class=\"n\">search_type</span><span class=\"o\">=</span><span class=\"s2\">&quot;phrase&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># a different phrase</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;&#39;tomato&#39; &amp; (&#39;red&#39; | &#39;green&#39;)&quot;</span><span class=\"p\">,</span> <span class=\"n\">search_type</span><span class=\"o\">=</span><span class=\"s2\">&quot;raw&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># boolean operators</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;&#39;tomato&#39; (&#39;red&#39; OR &#39;green&#39;)&quot;</span><span class=\"p\">,</span> <span class=\"n\">search_type</span><span class=\"o\">=</span><span class=\"s2\">&quot;websearch&quot;</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>  <span class=\"c1\"># websearch operators</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;tomato&quot;</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;red&quot;</span><span class=\"p\">)</span> <span class=\"o\">|</span> <span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;green&quot;</span><span class=\"p\">)))</span>  <span class=\"c1\"># Lexeme objects</span>\n</code></pre></div>\n<p>Is féidir téarmaí <code class=\"docutils literal notranslate\"><span class=\"pre\">SearchQuery</span></code> a chomhcheangal go loighciúil chun níos mó solúbthachta a sholáthar:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;meat&quot;</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;cheese&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># AND</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;meat&quot;</span><span class=\"p\">)</span> <span class=\"o\">|</span> <span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;cheese&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># OR</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"o\">~</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;meat&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># NOT</span>\n</code></pre></div>\n<p>Féach:ref: postgresql-fts-search-configuration le haghaidh míniú ar an paraiméadar <code class=\"docutils literal notranslate\"><span class=\"pre\">config</span></code>.</p>\n<aside class=\"version-note version-changed\" data-version=\"6.0\">\n<p class=\"version-note-title\">Changed in Django 6.0</p><p><a class=\"reference internal\" href=\"#django.contrib.postgres.search.Lexeme\" title=\"django.contrib.postgres.search.Lexeme\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Lexeme</span></code></a> objects were added.</p>\n</aside>\n</section>\n<section id=\"searchrank\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Searchrank</span></code><a class=\"heading-anchor\" href=\"#searchrank\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.SearchRank\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchRank</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">vector</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">weights</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">normalization</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">cover_density</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.SearchRank\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Go dtí seo, tá na torthaí ar ais againn ar a bhfuil aon mheaitseáil idir an veicteoir agus an cheist indéanta. Is dócha gur mhaith leat na torthaí a ordú de réir ábharthachta de chineál éigin. Soláthraíonn PostgreSQL feidhm rangú a chuireann san áireamh cé chomh minic a bhíonn na téarmaí fiosrúcháin le feiceáil sa doiciméad, cé chomh gar dá chéile atá na téarmaí sa doiciméad, agus cé chomh tábhachtach is atá an chuid den doiciméad ina dtarlaíonn siad. An níos fearr an cluiche, is airde luach an chéim. Chun ordú de réir ábharthachta:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span><span class=\"p\">,</span> <span class=\"n\">SearchRank</span><span class=\"p\">,</span> <span class=\"n\">SearchVector</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">vector</span> <span class=\"o\">=</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">query</span> <span class=\"o\">=</span> <span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"n\">SearchRank</span><span class=\"p\">(</span><span class=\"n\">vector</span><span class=\"p\">,</span> <span class=\"n\">query</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;-rank&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza recipes&gt;]&gt;</span>\n</code></pre></div>\n<p>Féach:ref: postgresql-fts-weighting-queries le haghaidh míniú ar an bparaiméadar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>meáchain <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>Socraigh an paraiméadar cover_density` go True` chun rangú an dlús clúdaigh a chumasú, rud a chiallaíonn go gcuirtear cógasacht na dtéarmaí ceisteanna meaitseála san áireamh.</p>\n<p>Cuir sláimhir ar fáil don pharaiméadar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>normalization` chun normalú céim a rialú. Is masc beagán é an sláimhir seo, ionas gur féidir leat iompraíochtaí iolracha a chomhcheangal:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Value</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"n\">SearchRank</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>        <span class=\"n\">vector</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">query</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">normalization</span><span class=\"o\">=</span><span class=\"n\">Value</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">bitor</span><span class=\"p\">(</span><span class=\"n\">Value</span><span class=\"p\">(</span><span class=\"mi\">4</span><span class=\"p\">)),</span>\n<span class=\"gp\">... </span>    <span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tá tuilleadh sonraí ag doiciméadú PostgreSQL faoi <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>roghanna normalú céim éagsúla <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_.</p>\n</section>\n<section id=\"searchheadline\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Ceannlíne</span> <span class=\"pre\">chuardacha</span></code><a class=\"heading-anchor\" href=\"#searchheadline\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.SearchHeadline\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchHeadline</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">config</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">start_sel</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">stop_sel</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_words</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">min_words</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">short_word</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">highlight_all</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_fragments</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fragment_delimiter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.SearchHeadline\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le réimse téacs amháin nó abairt, ceist, cumraíocht, agus tacar roghanna. Tuairisceáin aibhsithe ar thorthaí</p>\n<p>Socraigh na paraiméadair <code class=\"docutils literal notranslate\"><span class=\"pre\">start_sel</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">stop_sel</span></code> chuig na luachanna teaghrán atá le húsáid chun téarmaí fiosrúcháin aibhsithe sa doiciméad a fhilleadh. &lt;b&gt;Is iad réamhshocruithe PostgreSQL ná <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>`` agus <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a><a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>.&lt;/b&gt;</p>\n<p>Cuir luachanna sláimhir ar fáil do na paraiméadair <code class=\"docutils literal notranslate\"><span class=\"pre\">max_words</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">min_words</span></code> chun na ceannlínte is faide agus is giorra a chinneadh. Is iad réamhshocruithe PostgreSQL ná 35 agus 15.</p>\n<p>Cuir luach sláimhir ar fáil don pharaiméadar <code class=\"docutils literal notranslate\"><span class=\"pre\">short_word</span></code> chun focail den fhad seo nó níos lú a dhiúscairt i ngach ceanncheannlíne. Is é réamhshocrú PostgreSQL 3.</p>\n<p>Socraigh an paraiméadar <code class=\"docutils literal notranslate\"><span class=\"pre\">highlight_all</span></code> go <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> chun an doiciméad iomlán a úsáid in ionad blúire agus neamhaird a dhéanamh ar pharaiméadair <code class=\"docutils literal notranslate\"><span class=\"pre\">max_words</span></code>, min_words`, agus <code class=\"docutils literal notranslate\"><span class=\"pre\">short_word</span></code>. Tá sé sin díchumasaithe de réir réamhshocraithe i PostgreSQL.</p>\n<p>Cuir luach sláimhir neamh-nialasach ar fáil don <code class=\"docutils literal notranslate\"><span class=\"pre\">max_fragments</span></code> chun an líon uasta na mblúirí atá le taispeáint a shocrú. Tá sé sin díchumasaithe de réir réamhshocraithe i PostgreSQL.</p>\n<p>Socraigh an paraiméadar teaghrán fragment_delimiter` chun an teorannaitheoir idir blúirí a chumrú. Is é réamhshocrú PostgreSQL ná <code class=\"docutils literal notranslate\"><span class=\"pre\">”...</span> <span class=\"pre\">“</span></code>.</p>\n<p>Tá tuilleadh sonraí ag doiciméadú PostgreSQL maidir le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>aird a tharraingt ar thorthaí cuardaigh <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_.</p>\n<p>Sampla úsáide:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchHeadline</span><span class=\"p\">,</span> <span class=\"n\">SearchQuery</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">query</span> <span class=\"o\">=</span> <span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;red tomato&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">entry</span> <span class=\"o\">=</span> <span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">headline</span><span class=\"o\">=</span><span class=\"n\">SearchHeadline</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>        <span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">query</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">start_sel</span><span class=\"o\">=</span><span class=\"s2\">&quot;&lt;span&gt;&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">stop_sel</span><span class=\"o\">=</span><span class=\"s2\">&quot;&lt;/span&gt;&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    <span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">entry</span><span class=\"o\">.</span><span class=\"n\">headline</span><span class=\"p\">)</span>\n<span class=\"go\">Sandwich with &lt;span&gt;tomato&lt;/span&gt; and &lt;span&gt;red&lt;/span&gt; cheese.</span>\n</code></pre></div>\n<p>Féach:ref: postgresql-fts-search-configuration le haghaidh míniú ar an paraiméadar <code class=\"docutils literal notranslate\"><span class=\"pre\">config</span></code>.</p>\n</section>\n<section id=\"changing-the-search-configuration\">\n<span id=\"postgresql-fts-search-configuration\"></span><h2>Cumraíocht an chuardaigh a athrú<a class=\"heading-anchor\" href=\"#changing-the-search-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Is féidir leat an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">config</span></code> a shonrú le a:class: searchVector agus:class: searchQuery chun cumraíocht cuardaigh difriúil a úsáid. Ligeann sé seo parsálaí agus foclóirí teanga éagsúla a úsáid mar a shainmhíníonn an bunachar</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span><span class=\"p\">,</span> <span class=\"n\">SearchVector</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"s2\">&quot;french&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;œuf&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"s2\">&quot;french&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Pain perdu&gt;]&gt;</span>\n</code></pre></div>\n<p>D'fhéadfaí luach config` a stóráil i gcolún eile freisin:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">F</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;blog__language&quot;</span><span class=\"p\">)),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;œuf&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;blog__language&quot;</span><span class=\"p\">)))</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Pain perdu&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"weighting-queries\">\n<span id=\"postgresql-fts-weighting-queries\"></span><h2>Fiosruithe meáchain<a class=\"heading-anchor\" href=\"#weighting-queries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>B'fhéidir nach mbeidh an t-ábharthacht chéanna ag gach réimse i gceist, ionas gur féidir leat meáchain veicteoirí éagsúla a shocrú sula gcomhcheanglaíonn tú iad:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span><span class=\"p\">,</span> <span class=\"n\">SearchRank</span><span class=\"p\">,</span> <span class=\"n\">SearchVector</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">vector</span> <span class=\"o\">=</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"s2\">&quot;A&quot;</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;blog__tagline&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"s2\">&quot;B&quot;</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">query</span> <span class=\"o\">=</span> <span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"s2\">&quot;cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"n\">SearchRank</span><span class=\"p\">(</span><span class=\"n\">vector</span><span class=\"p\">,</span> <span class=\"n\">query</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">rank__gte</span><span class=\"o\">=</span><span class=\"mf\">0.3</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;rank&quot;</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ba chóir go mbeadh an meáchan ar cheann de na litreacha seo a leanas: D, C, B, A. De réir réamhshocraithe, tagraíonn na meáchain seo do na huimhreacha <code class=\"docutils literal notranslate\"><span class=\"pre\">0.1</span></code>, 0.2`, 0.4`, agus <code class=\"docutils literal notranslate\"><span class=\"pre\">1.0</span></code>, faoi seach. Más mian leat iad a mheáchan ar bhealach difriúil, cuir liosta de cheithre snámh chuig: class: searchRank mar <code class=\"docutils literal notranslate\"><span class=\"pre\">Weights</span></code> san ord céanna thuas:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">rank</span> <span class=\"o\">=</span> <span class=\"n\">SearchRank</span><span class=\"p\">(</span><span class=\"n\">vector</span><span class=\"p\">,</span> <span class=\"n\">query</span><span class=\"p\">,</span> <span class=\"n\">weights</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"mf\">0.2</span><span class=\"p\">,</span> <span class=\"mf\">0.4</span><span class=\"p\">,</span> <span class=\"mf\">0.6</span><span class=\"p\">,</span> <span class=\"mf\">0.8</span><span class=\"p\">])</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"n\">rank</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">rank__gte</span><span class=\"o\">=</span><span class=\"mf\">0.3</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;-rank&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"lexeme\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Lexeme</span></code><a class=\"heading-anchor\" href=\"#lexeme\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-added\" data-version=\"6.0\">\n<p class=\"version-note-title\">New in Django 6.0</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.Lexeme\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Lexeme</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">output_field</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\"><span class=\"pre\">*</span></abbr></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">invert</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">prefix</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">weight</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.Lexeme\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">Lexeme</span></code> objects allow search operators to be safely used with strings from\nan untrusted source. The content of each lexeme is escaped so that any\noperators that may exist in the string itself will not be interpreted.</p>\n<p>You can combine lexemes with other lexemes using the <code class=\"docutils literal notranslate\"><span class=\"pre\">&amp;</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">|</span></code> operators\nand also negate them with the <code class=\"docutils literal notranslate\"><span class=\"pre\">~</span></code> operator. For example:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchQuery</span><span class=\"p\">,</span> <span class=\"n\">SearchVector</span><span class=\"p\">,</span> <span class=\"n\">Lexeme</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">vector</span> <span class=\"o\">=</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;blog__tagline&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">vector</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;fruit&quot;</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;dessert&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Apple Crumble Recipes&gt;, &lt;Entry: Banana Split Recipes&gt;]&gt;</span>\n</code></pre></div>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">vector</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;fruit&quot;</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;dessert&quot;</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"o\">~</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;banana&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Apple Crumble Recipes&gt;]&gt;</span>\n</code></pre></div>\n<p>Lexeme objects also support term weighting and prefixes:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">vector</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;Pizza&quot;</span><span class=\"p\">)</span> <span class=\"o\">|</span> <span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;Cheese&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza recipes&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">vector</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;Pizza&quot;</span><span class=\"p\">)</span> <span class=\"o\">|</span> <span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;Cheese&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"s2\">&quot;A&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Pizza recipes&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">vector</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">search</span><span class=\"o\">=</span><span class=\"n\">SearchQuery</span><span class=\"p\">(</span><span class=\"n\">Lexeme</span><span class=\"p\">(</span><span class=\"s2\">&quot;za&quot;</span><span class=\"p\">,</span> <span class=\"n\">prefix</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"performance\">\n<h2>feidhmíocht<a class=\"heading-anchor\" href=\"#performance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ní gá cumraíocht bunachar sonraí speisialta chun aon cheann de na feidhmeanna seo a úsáid, áfach, má tá níos mó ná cúpla céad taifead á chuardach agat, is dócha go mbeidh fadhbanna feidhmíochta ort. Is próiseas níos déine é cuardach téacs iomlán ná comparáid a dhéanamh idir méid sláimhir, mar shampla.</p>\n<p>Sa chás go bhfuil na réimsí go léir a bhfuil tú ag fiosrú orthu laistigh de mhúnla áirithe amháin, is féidir leat inné &lt;django.contrib.postgres.indexes.GinIndex&gt;&lt;django.contrib.postgres.indexes.GistIndex&gt;acs feidhmiúil:class: GIN `nó: class: `GIST a chruthú a oireann leis an veicteoir cuardaigh is mian leat a úsáid. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">GinIndex</span><span class=\"p\">(</span>\n    <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"s2\">&quot;english&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;search_vector_idx&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>The PostgreSQL docs has details on <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX\">creating indexes for full text search</a>.</p>\n<section id=\"searchvectorfield\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">SearchVectorField</span></code><a class=\"heading-anchor\" href=\"#searchvectorfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.SearchVectorField\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchVectorField</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.SearchVectorField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Má éiríonn an cur chuige seo ró-mhall, is féidir leat <code class=\"docutils literal notranslate\"><span class=\"pre\">SearchVectorField</span></code> a chur le do mhúnla. Beidh ort é a choinneáil daonra le spreagthóirí, mar shampla, mar a thuairiscítear sa doiciméadú <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/textsearch-features.html#TEXTSEARCH-UPDATE-TRIGGERS\">PostgreSQL</a>. Ansin is féidir leat an réimse a cheistiú amhail is dá mba “SearchVector” anótáilte é:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">(</span><span class=\"n\">search_vector</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">search_vector</span><span class=\"o\">=</span><span class=\"s2\">&quot;cheese&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Entry: Cheese on Toast recipes&gt;, &lt;Entry: Pizza recipes&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"using-generatedfield\">\n<h3>Using <code class=\"docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code><a class=\"heading-anchor\" href=\"#using-generatedfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>An alternative method is to use a <a class=\"reference internal\" href=\"/ga/6.0/ref/models/fields/#django.db.models.GeneratedField\" title=\"django.db.models.GeneratedField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeneratedField</span></code></a>,\nwhich has PostgreSQL maintain the column rather than a trigger:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.indexes</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GinIndex</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SearchVector</span><span class=\"p\">,</span> <span class=\"n\">SearchVectorField</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Entry</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">headline</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">)</span>\n    <span class=\"n\">body_text</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n\n    <span class=\"n\">search_vector</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">GeneratedField</span><span class=\"p\">(</span>\n        <span class=\"n\">expression</span><span class=\"o\">=</span><span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"s2\">&quot;A&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"s2\">&quot;english&quot;</span><span class=\"p\">)</span>\n        <span class=\"o\">+</span> <span class=\"n\">SearchVector</span><span class=\"p\">(</span><span class=\"s2\">&quot;body_text&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"s2\">&quot;B&quot;</span><span class=\"p\">,</span> <span class=\"n\">config</span><span class=\"o\">=</span><span class=\"s2\">&quot;english&quot;</span><span class=\"p\">),</span>\n        <span class=\"n\">output_field</span><span class=\"o\">=</span><span class=\"n\">SearchVectorField</span><span class=\"p\">(),</span>\n        <span class=\"n\">db_persist</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        <span class=\"n\">indexes</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"n\">GinIndex</span><span class=\"p\">(</span><span class=\"n\">fields</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;search_vector&quot;</span><span class=\"p\">])]</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"trigram-similarity\">\n<h2>Cosúlacht Trigram<a class=\"heading-anchor\" href=\"#trigram-similarity\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cur chuige eile maidir le cuardach is ea cosúlacht trigram. Is grúpa de thrí charachtar as a chéile é trigram. Chomh maith leis na:lookup: trigram_similar, :lookup: trigram_word_similar, agus:lookup: trigram_strict_word_similar cuardaigh, is féidir leat cúpla abairt eile a úsáid.</p>\n<p>&lt; <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/pgtrgm.html\">https://www.postgresql.org/docs/current/pgtrgm.html</a>&gt;Chun iad a úsáid, ní mór duit an síneadh pg_trgm `_ a ghníomhachtú ar PostgreSQL. Is féidir leat é a shuiteáil ag baint úsáide as an oibríocht imirce:class: `~django.contrib.postgres.operations.TrigramExtension.</p>\n<section id=\"trigramsimilarity\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Trigramchosúlacht ``<a class=\"heading-anchor\" href=\"#trigramsimilarity\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramSimilarity\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramSimilarity</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramSimilarity\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le hainm réimse nó léiriú, agus teaghrán nó abairt. Tugann sé an chosúlacht trigram idir an dá argóint ar ais.</p>\n<p>Sampla úsáide:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TrigramSimilarity</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Katy Stevens&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Stephen Keats&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">test</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Katie Stephens&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">similarity</span><span class=\"o\">=</span><span class=\"n\">TrigramSimilarity</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"n\">test</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">similarity__gt</span><span class=\"o\">=</span><span class=\"mf\">0.3</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;-similarity&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Author: Katy Stevens&gt;, &lt;Author: Stephen Keats&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"trigramwordsimilarity\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Tríghrambhóthaíocht ``<a class=\"heading-anchor\" href=\"#trigramwordsimilarity\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramWordSimilarity\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramWordSimilarity</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramWordSimilarity\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le sreang nó abairt, agus ainm réimse nó léiriú. Filleann sé an chosúlacht focal trigram idir an dá argóint.</p>\n<p>Sampla úsáide:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TrigramWordSimilarity</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Katy Stevens&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Stephen Keats&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">test</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Kat&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">similarity</span><span class=\"o\">=</span><span class=\"n\">TrigramWordSimilarity</span><span class=\"p\">(</span><span class=\"n\">test</span><span class=\"p\">,</span> <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">similarity__gt</span><span class=\"o\">=</span><span class=\"mf\">0.3</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;-similarity&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Author: Katy Stevens&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"trigramstrictwordsimilarity\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">TrigramstrictOrdComhoilarity</span></code><a class=\"heading-anchor\" href=\"#trigramstrictwordsimilarity\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramStrictWordSimilarity\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramStrictWordSimilarity</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramStrictWordSimilarity\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le sreang nó abairt, agus ainm réimse nó léiriú. Filleann sé an trigram cosúlacht dhian focal idir an dá argóint. Cosúil le:class: TrigramwordSimility () &lt;TrigramWordSimilarity&gt;, ach amháin go gcuireann sé teorainneacha méid teorainneacha focal a mheaitseáil.</p>\n</section>\n<section id=\"trigramdistance\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Trigramdistance</span></code><a class=\"heading-anchor\" href=\"#trigramdistance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramDistance\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramDistance</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramDistance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le hainm réimse nó léiriú, agus teaghrán nó abairt. Tugann sé an fad trigram idir an dá argóint ar ais.</p>\n<p>Sampla úsáide:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TrigramDistance</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Katy Stevens&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Stephen Keats&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">test</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Katie Stephens&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">distance</span><span class=\"o\">=</span><span class=\"n\">TrigramDistance</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"n\">test</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">distance__lte</span><span class=\"o\">=</span><span class=\"mf\">0.7</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;distance&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Author: Katy Stevens&gt;, &lt;Author: Stephen Keats&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"trigramworddistance\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">TrigramWorddistance</span></code><a class=\"heading-anchor\" href=\"#trigramworddistance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramWordDistance\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramWordDistance</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramWordDistance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le sreang nó abairt, agus ainm réimse nó léiriú. Tugann sé an fad focal trigram idir an dá argóint ar ais.</p>\n<p>Sampla úsáide:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.search</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TrigramWordDistance</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Katy Stevens&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;Stephen Keats&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">test</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Kat&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">distance</span><span class=\"o\">=</span><span class=\"n\">TrigramWordDistance</span><span class=\"p\">(</span><span class=\"n\">test</span><span class=\"p\">,</span> <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">distance__lte</span><span class=\"o\">=</span><span class=\"mf\">0.7</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">order_by</span><span class=\"p\">(</span><span class=\"s2\">&quot;distance&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Author: Katy Stevens&gt;]&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"trigramstrictworddistance\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">TrigramstrictOrdistance</span></code><a class=\"heading-anchor\" href=\"#trigramstrictworddistance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.search.TrigramStrictWordDistance\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TrigramStrictWordDistance</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">string</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.search.TrigramStrictWordDistance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glacann sé le sreang nó abairt, agus ainm réimse nó léiriú. Filleann sé an fad focal dian trigram idir an dá argóint.</p>\n</section>\n</section>","rootId":"full-text-search","toc":[{"title":"An cuardach chuardach","anchor":"the-search-lookup","children":[]},{"title":"SearchVector","anchor":"searchvector","children":[]},{"title":"Cuardcheiste","anchor":"searchquery","children":[]},{"title":"Searchrank","anchor":"searchrank","children":[]},{"title":"Ceannlíne chuardacha","anchor":"searchheadline","children":[]},{"title":"Cumraíocht an chuardaigh a athrú","anchor":"changing-the-search-configuration","children":[]},{"title":"Fiosruithe meáchain","anchor":"weighting-queries","children":[]},{"title":"Lexeme","anchor":"lexeme","children":[]},{"title":"feidhmíocht","anchor":"performance","children":[{"title":"SearchVectorField","anchor":"searchvectorfield","children":[]},{"title":"Using GeneratedField","anchor":"using-generatedfield","children":[]}]},{"title":"Cosúlacht Trigram","anchor":"trigram-similarity","children":[{"title":"``Trigramchosúlacht ``","anchor":"trigramsimilarity","children":[]},{"title":"``Tríghrambhóthaíocht ``","anchor":"trigramwordsimilarity","children":[]},{"title":"TrigramstrictOrdComhoilarity","anchor":"trigramstrictwordsimilarity","children":[]},{"title":"Trigramdistance","anchor":"trigramdistance","children":[]},{"title":"TrigramWorddistance","anchor":"trigramworddistance","children":[]},{"title":"TrigramstrictOrdistance","anchor":"trigramstrictworddistance","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/6.0/ref/"},{"docname":"ref/contrib/index","title":"Pacáistí contrib","url":"/ga/6.0/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/ga/6.0/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/operations","title":"Oibríochtaí imirce bunachar","url":"/ga/6.0/ref/contrib/postgres/operations/"},"next":{"docname":"ref/contrib/postgres/validators","title":"Bailíochtóirí","url":"/ga/6.0/ref/contrib/postgres/validators/"},"formats":{"html":"/ga/6.0/ref/contrib/postgres/search/","markdown":"/ga/6.0/ref/contrib/postgres/search.md","json":"/ga/6.0/ref/contrib/postgres/search.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/contrib/postgres/search.txt","official":"https://docs.djangoproject.com/ga/6.0/ref/contrib/postgres/search/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}