{"title":"Pencarian khusus PostgreSQL","version":"4.2","locale":"id","docname":"ref/contrib/postgres/lookups","url":"/id/4.2/ref/contrib/postgres/lookups/","canonical":"https://djangodocs.dev/id/4.2/ref/contrib/postgres/lookups/","summary":"Pencarian trigram_similar mengizinkan anda melakukan pencarian triagram, mengukur angka dari triagram (tiga karakter berurutan) dibagi, menggunakan tambahan…","html":"<h1>Pencarian khusus PostgreSQL<a class=\"heading-anchor\" href=\"#postgresql-specific-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"trigram-similarity\">\n<h2>Kemiripan 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<section id=\"trigram-similar\">\n<span id=\"std-fieldlookup-trigram_similar\"></span><h3><code class=\"docutils literal notranslate\">trigram_similar</code><a class=\"heading-anchor\" href=\"#trigram-similar\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Pencarian <code class=\"docutils literal notranslate\">trigram_similar</code> mengizinkan anda melakukan pencarian triagram, mengukur angka dari triagram (tiga karakter berurutan) dibagi, menggunakan tambahan PostgreSQL keseluruhan. Sebuah pencarian triagram diberikan sebuah pernyataan dan mengembalikan hasil bahwa mempunyai pengukuran kemiripan lebih besar dari ambang kemiripan saat ini.</p>\n<p>To use it, add <code class=\"docutils literal notranslate\">'django.contrib.postgres'</code> in your <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>\nand activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/pgtrgm.html\">pg_trgm extension</a> on PostgreSQL. You can install the\nextension using the\n<a class=\"reference internal\" href=\"/id/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.TrigramExtension\" title=\"django.contrib.postgres.operations.TrigramExtension\"><code class=\"xref py py-class docutils literal notranslate\">TrigramExtension</code></a> migration\noperation.</p>\n<p>The <code class=\"docutils literal notranslate\">trigram_similar</code> lookup can be used on\n<a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> and <a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\">TextField</code></a>:</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>City<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__trigram_similar<span class=\"o\">=</span><span class=\"s2\">&quot;Middlesborough&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[&#39;&lt;City: Middlesbrough&gt;&#39;]</span>\n</code></pre></div>\n</section>\n<section id=\"trigram-word-similar\">\n<span id=\"std-fieldlookup-trigram_word_similar\"></span><h3><code class=\"docutils literal notranslate\">trigram_word_similar</code><a class=\"heading-anchor\" href=\"#trigram-word-similar\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The <code class=\"docutils literal notranslate\">trigram_word_similar</code> lookup allows you to perform trigram word\nsimilarity lookups using a dedicated PostgreSQL extension. It can be\napproximately understood as measuring the greatest number of trigrams shared\nbetween the parameter and any substring of the field. A trigram word lookup is\ngiven an expression and returns results that have a word similarity measurement\ngreater than the current similarity threshold.</p>\n<p>To use it, add <code class=\"docutils literal notranslate\">'django.contrib.postgres'</code> in your <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>\nand activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/pgtrgm.html\">pg_trgm extension</a> on PostgreSQL. You can install the\nextension using the\n<a class=\"reference internal\" href=\"/id/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.TrigramExtension\" title=\"django.contrib.postgres.operations.TrigramExtension\"><code class=\"xref py py-class docutils literal notranslate\">TrigramExtension</code></a> migration\noperation.</p>\n<p>The <code class=\"docutils literal notranslate\">trigram_word_similar</code> lookup can be used on\n<a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> and <a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\">TextField</code></a>:</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>Sentence<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__trigram_word_similar<span class=\"o\">=</span><span class=\"s2\">&quot;Middlesborough&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[&#39;&lt;Sentence: Gumby rides on the path of Middlesbrough&gt;&#39;]</span>\n</code></pre></div>\n</section>\n<section id=\"trigram-strict-word-similar\">\n<span id=\"std-fieldlookup-trigram_strict_word_similar\"></span><h3><code class=\"docutils literal notranslate\">trigram_strict_word_similar</code><a class=\"heading-anchor\" href=\"#trigram-strict-word-similar\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"4.2\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.2</p></aside>\n<p>Similar to <a class=\"reference internal\" href=\"#std-fieldlookup-trigram_word_similar\"><code class=\"xref std std-lookup docutils literal notranslate\">trigram_word_similar</code></a>, except that it forces extent\nboundaries to match word boundaries.</p>\n<p>To use it, add <code class=\"docutils literal notranslate\">'django.contrib.postgres'</code> in your <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>\nand activate the <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/pgtrgm.html\">pg_trgm extension</a> on PostgreSQL. You can install the\nextension using the\n<a class=\"reference internal\" href=\"/id/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.TrigramExtension\" title=\"django.contrib.postgres.operations.TrigramExtension\"><code class=\"xref py py-class docutils literal notranslate\">TrigramExtension</code></a> migration\noperation.</p>\n<p>The <code class=\"docutils literal notranslate\">trigram_strict_word_similar</code> lookup can be used on\n<a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> and <a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\">TextField</code></a>.</p>\n</section>\n</section>\n<section id=\"unaccent\">\n<h2><code class=\"docutils literal notranslate\">Unaccent</code><a class=\"heading-anchor\" href=\"#unaccent\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p id=\"std-fieldlookup-unaccent\">Pencarian <code class=\"docutils literal notranslate\">unaccent</code> mengizinkan anda melakukan pencarian aksen-peka menggunakan tambahan PostgreSQL khusus.</p>\n<p>Pencarian ini diterapkan menggunakan <a class=\"reference internal\" href=\"/id/4.2/ref/models/lookups/#django.db.models.Transform\" title=\"django.db.models.Transform\"><code class=\"xref py py-class docutils literal notranslate\">Transform</code></a>, jadi itu dapat diikat dengan fungsi pencarian lain. Untuk menggunakan itu, anda butuh menambah <code class=\"docutils literal notranslate\">'django.contrib.postgres'</code> dalam <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> anda dan mengaktifkan <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/unaccent.html\">unaccent extension on PostgreSQL</a>. Tindakan perpindahan <a class=\"reference internal\" href=\"/id/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.UnaccentExtension\" title=\"django.contrib.postgres.operations.UnaccentExtension\"><code class=\"xref py py-class docutils literal notranslate\">UnaccentExtension</code></a> tersedia jika anda ingin melakukan pengaktivan ini menggunakan perpindahan).</p>\n<p>The <code class=\"docutils literal notranslate\">unaccent</code> lookup can be used on\n<a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> and <a class=\"reference internal\" href=\"/id/4.2/ref/models/fields/#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\">TextField</code></a>:</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>City<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__unaccent<span class=\"o\">=</span><span class=\"s2\">&quot;México&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[&#39;&lt;City: Mexico&gt;&#39;]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>User<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>first_name__unaccent__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;Jerem&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[&#39;&lt;User: Jeremy&gt;&#39;, &#39;&lt;User: Jérémy&gt;&#39;, &#39;&lt;User: Jérémie&gt;&#39;, &#39;&lt;User: Jeremie&gt;&#39;]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Peringatan</p>\n<p>Pencarian <code class=\"docutils literal notranslate\">unaccent</code> harus tampil baik dalam kebanyakan pengunaan kasus. Bagaimanapun, permintaan menggunakan penyaring ini akan umumnya melakukan pemindaian tabel penuh, yang dapat melambatkan pada tabel-tabel besar. Dalam kasus-kasus tersebut, menggunakan alat-alat pengindeksan teks penuh yang berdedikasi mungkin sesuai.</p>\n</aside>\n</section>","rootId":"postgresql-specific-lookups","toc":[{"title":"Kemiripan trigram","anchor":"trigram-similarity","children":[{"title":"trigram_similar","anchor":"trigram-similar","children":[]},{"title":"trigram_word_similar","anchor":"trigram-word-similar","children":[]},{"title":"trigram_strict_word_similar","anchor":"trigram-strict-word-similar","children":[]}]},{"title":"Unaccent","anchor":"unaccent","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/4.2/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/4.2/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/id/4.2/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/indexes","title":"Indeks model khusus PostgreSQL","url":"/id/4.2/ref/contrib/postgres/indexes/"},"next":{"docname":"ref/contrib/postgres/operations","title":"Tindakan perpindahan basisdata","url":"/id/4.2/ref/contrib/postgres/operations/"},"formats":{"html":"/id/4.2/ref/contrib/postgres/lookups/","markdown":"/id/4.2/ref/contrib/postgres/lookups.md","json":"/id/4.2/ref/contrib/postgres/lookups.json"},"source":"https://github.com/django/django/blob/stable/4.2.x/docs/ref/contrib/postgres/lookups.txt","official":"https://docs.djangoproject.com/id/4.2/ref/contrib/postgres/lookups/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}