Когда Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ разрастаСтся Π΄ΠΎ тысяч Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², справочников ΠΈ рСгистров, поиск Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ прСвращаСтся Π² Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΏΡ‹Ρ‚ΠΊΡƒ. Π”Π°ΠΆΠ΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ сСрвСры Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Β«Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запросов с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠŸΠžΠ”ΠžΠ‘ΠΠž ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ тСкстовым полям. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ индСкс полнотСкстового поиска β€” инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ администраторы 1Π‘ Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚, Π° зря.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ просто ускоряСт поиск β€” ΠΎΠ½ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ мСняСт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ВмСсто сканирования ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи ΠΏΡ€ΠΈ запросС систСма обращаСтся ΠΊ Π·Π°Ρ€Π°Π½Π΅Π΅ сформированному индСксу, Π³Π΄Π΅ хранятся Β«Π²Ρ‹ΠΆΠΈΠΌΠΊΠΈΒ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Но ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? Когда Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ, Π° ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ? И Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ индСкс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ приносил ΠΏΠΎΠ»ΡŒΠ·Ρƒ, Π° Π½Π΅ создавал Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ практичСскиС сцСнарии использования, тСхничСскиС Π½ΡŽΠ°Π½ΡΡ‹ настройки (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ администраторы. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ индСкс полнотСкстового поиска взаимодСйствуСт с Π‘Π£Π‘Π” (MS SQL, PostgreSQL) ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Π³ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ структуры Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСкс полнотСкстового поиска Π² 1Π‘ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

ИндСкс полнотСкстового поиска β€” это спСциализированная структура Π΄Π°Π½Π½Ρ‹Ρ…, которая создаётся ΠΏΠΎΠ²Π΅Ρ€Ρ… тСкстовых ΠΏΠΎΠ»Π΅ΠΉ Π² Π±Π°Π·Π΅ 1Π‘. Π•Π³ΠΎ основная Π·Π°Π΄Π°Ρ‡Π° β€” ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов, содСрТащих поиск ΠΏΠΎ тСксту (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠžΠ”ΠžΠ‘ΠΠž, Π‘ΠžΠ”Π•Π Π–Π˜Π’ ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ строковым полям). ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, систСма обращаСтся ΠΊ индСксу, Π³Π΄Π΅ тСкстовыС Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ (слова, словосочСтания) ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для поиска структуру.

ВСхничСски индСкс прСдставляСт собой Π½Π°Π±ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ† Π² Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Microsoft SQL Server это систСмныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с прСфиксом sysft_), Π³Π΄Π΅ хранятся:

  • πŸ“Œ Π’ΠΎΠΊΠ΅Π½Ρ‹ β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ слова ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π·Ρ‹ ΠΈΠ· тСкстовых ΠΏΠΎΠ»Π΅ΠΉ (с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ для русского языка).
  • πŸ”— Бсылки Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° записи, Π³Π΄Π΅ встрСчаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½.
  • πŸ“Š Бтатистика β€” частота использования Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², ΠΈΡ… вСс для ранТирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ запрос Ρ‚ΠΈΠΏΠ° Β«Π½Π°ΠΉΡ‚ΠΈ всС Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Иванов», систСма Π½Π΅ сканируСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² построчно, Π° обращаСтся ΠΊ индСксу, Π³Π΄Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ список всСх Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², содСрТащих слово «Иванов». Π­Ρ‚ΠΎ сокращаСт врСмя выполнСния запроса Π² дСсятки, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π² сотни Ρ€Π°Π· β€” особСнно Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ записСй.

πŸ“Š Как часто Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ поиском Π² 1Π‘?
ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ, это больная Ρ‚Π΅ΠΌΠ°
Иногда, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими справочниками
Рядом, Π½ΠΎ Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ
Никогда, Ρƒ нас всё Π»Π΅Ρ‚Π°Π΅Ρ‚

Когда Π½ΡƒΠΆΠ΅Π½ индСкс полнотСкстового поиска: 5 Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариСв

НС Π²ΠΎ всСх случаях созданиС индСкса ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ эффСкту β€” ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр ΠΈ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹. Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ситуации, ΠΊΠΎΠ³Π΄Π° индСкс Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ:

  1. Поиск ΠΏΠΎ большим справочникам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, НомСнклатура с 50+ тысячами ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ). Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ часто ΠΈΡ‰ΡƒΡ‚ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΏΠΎ названию, Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Ρƒ ΠΈΠ»ΠΈ описанию, индСкс ускорит Π²Ρ‹Π΄Π°Ρ‡Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².
  2. Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ тСкстовым Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поиск Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΏΠΎ ЀИО ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°). Π‘Π΅Π· индСкса Ρ‚Π°ΠΊΠΈΠ΅ запросы ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.
  3. Π Π°Π±ΠΎΡ‚Π° с рСгистрами свСдСний, Π³Π΄Π΅ тСкстовыС поля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСгистр ЦСныНомСнклатуры с ΠΏΠΎΠ»Π΅ΠΌ ΠΡ€Ρ‚ΠΈΠΊΡƒΠ»ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊΠ°).
  4. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с внСшними систСмами, Π³Π΄Π΅ 1Π‘ выступаСт источником Π΄Π°Π½Π½Ρ‹Ρ… для поисковых сСрвисов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, синхронизация с сайтом ΠΈΠ»ΠΈ CRM).
  5. ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ с тСкстовыми Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ наимСнованию Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°).

ΠŸΡ€ΠΈ этом Π΅ΡΡ‚ΡŒ случаи, ΠΊΠΎΠ³Π΄Π° индСкс Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²Ρ€Π΅Π΄Π΅Π½:

  • ❌ Π’ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… (Π΄ΠΎ 10 тысяч Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) β€” Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ индСкса пСрСвСсят Π²Ρ‹Π³ΠΎΠ΄Ρƒ.
  • ❌ Для ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² поискС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ слуТСбныС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ).
  • ❌ Если тСкстовыС поля содСрТат ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ значСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, статусы Β«Π”Π°/НСт»).
πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм индСкса ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статистику использования тСкстовых ΠΏΠΎΠ»Π΅ΠΉ Π² запросах. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Планом ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠΌ рСгистрации 1Π‘.

Как индСкс полнотСкстового поиска взаимодСйствуСт с Π‘Π£Π‘Π”

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ индСкса Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, какая систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘. Рассмотрим особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярными Π‘Π£Π‘Π”:

Π‘Π£Π‘Π” ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° полнотСкстового поиска ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ настройки ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ
Microsoft SQL Server Полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° (начиная с вСрсии 2008) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ sysft_*. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки Full-Text Search Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСрвСра. Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто Π½Π° дискС (Π΄ΠΎ 30% ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…).
PostgreSQL ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ pg_trgm ΠΈΠ»ΠΈ встроСнный tsvector Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² для обновлСния индСкса. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡŽ для русского языка. МСнСС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π· ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с MS SQL.
IBM DB2 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· DB2 Text Search Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Настройка слоТнСС, Ρ‡Π΅ΠΌ Π² MS SQL. Π Π΅ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² 1Π‘, докумСнтация ΠΌΠ΅Π½Π΅Π΅ доступна.
Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·) ИндСкс создаётся Π² Ρ„Π°ΠΉΠ»Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (1Cv8.1CD). НС рСкомСндуСтся для Π±Π°Π· ΡΠ²Ρ‹ΡˆΠ΅ 10 Π“Π‘.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ индСкс полнотСкстового поиска β€” это Π½Π΅ магичСская ΠΏΠ°Π»ΠΎΡ‡ΠΊΠ°. Π•Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° зависит ΠΎΡ‚:

  • πŸ”§ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² MS SQL Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ слуТбу SQL Server FullText Search).
  • πŸ“ˆ ΠžΠ±ΡŠΡ‘ΠΌΠ° тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… β€” Ρ‡Π΅ΠΌ большС тСкста, Ρ‚Π΅ΠΌ эффСктивнСС индСкс.
  • πŸ”„ Частоты ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ β€” Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ часто, индСкс Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянной пСрСстройки.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли индСкс Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ послС обновлСния 1Π‘?

ПослС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ индСкс ΠΌΠΎΠΆΠ΅Ρ‚ Β«ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒΡΡΒ» ΠΈΠ·-Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² структурС Ρ‚Π°Π±Π»ΠΈΡ†. Π’ этом случаС:

1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации Π½Π° ошибки Ρ‚ΠΈΠΏΠ° Β«Full-text catalog is not availableΒ».

2. ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ индСкс Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ β†’ АдминистрированиС β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск.

3. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ MS SQL, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ EXEC sp_fulltext_service 'verify' для диагностики.

Пошаговая инструкция: ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ индСкс полнотСкстового поиска Π² 1Π‘ 8.3

Настройка индСкса состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… этапов: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π‘Π£Π‘Π”, создания индСкса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ. Рассмотрим процСсс Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 с Π‘Π£Π‘Π” Microsoft SQL Server:

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ слуТба Full-Text Search Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π² MS SQL|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ 1Π‘ Π½Π° созданиС индСксов|Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…|ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ тСкстовыС поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ-->

Π¨Π°Π³ 1. Настройка Π‘Π£Π‘Π” (для MS SQL)

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ SQL Server Management Studio ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ сСрвСру.
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ слуТба SQL FullText Filter Daemon Launcher Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° (Ρ‡Π΅Ρ€Π΅Π· Services.msc).
  3. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запрос для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ доступности полнотСкстового поиска:
    SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')

    Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 1 β€” всё Π² порядкС.

Π¨Π°Π³ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ индСкса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Администратор.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² АдминистрированиС β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹Π΅ индСксы.
  3. НаТмитС Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅:
    • πŸ“‹ Имя индСкса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π˜Π½Π΄Π΅ΠΊΡΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹).
    • πŸ“‚ Π’Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура).
    • πŸ” Поля для индСксирования (Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ НаимСнованиС, Артикул, ОписаниС).
  • НаТмитС Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ.
  • Π¨Π°Π³ 3. Запуск индСксирования

    1. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² список индСксов ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ созданный.
    2. НаТмитС Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ β€” систСма Π½Π°Ρ‡Π½Ρ‘Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса. ВрСмя выполнСния зависит ΠΎΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ½ΡƒΡ‚ Π΄ΠΎ часов).
    3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статус Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ БостояниС β€” Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.
    4. πŸ’‘

      ПослС создания индСкса ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ протСстируйтС Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ! Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ нСсколько поисковых запросов с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠŸΠžΠ”ΠžΠ‘ΠΠž ΠΈ сравнитС ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄ΠΎ ΠΈ послС.

      Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с индСксами ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

      Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ администраторы 1Π‘ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ настройкС полнотСкстового поиска. Π’ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС ошибки ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

      ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Если послС создания индСкса поиск стал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСкса ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ индСкс ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π· Π² час ΠΈΠ»ΠΈ Π½ΠΎΡ‡ΡŒΡŽ).

      Ошибка 1: ИндСкс Π½Π΅ создаётся ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ

      • πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: НСдостаточно ΠΏΡ€Π°Π² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π‘Π£Π‘Π”.
      • πŸ”Ή РСшСниС: ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ 1Π‘ Ρ€ΠΎΠ»ΡŒ db_owner ΠΈΠ»ΠΈ FULLTEXT_ADMIN Π² MS SQL.

      Ошибка 2: Поиск Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ совпадСния

      • πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ настройках индСкса ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поиск ΠΏΠΎ слову Β«Π΄ΠΎΠΌΒ» Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Β«Π΄ΠΎΠΌΠ°Β»).
      • πŸ”Ή РСшСниС: Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ свойства индСкса ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡŽ.

      Ошибка 3: ИндСкс Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ мСста

      • πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ индСкс Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ поля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅).
      • πŸ”Ή РСшСниС: ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ индСкс, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ критичСски Π²Π°ΠΆΠ½Ρ‹Π΅ тСкстовыС поля.

      Ошибка 4: Запросы с ΠŸΠžΠ”ΠžΠ‘ΠΠž ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ индСкс

      • πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ запросС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция, Π½Π΅ поддСрТиваСмая полнотСкстовым поиском (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поиск ΠΏΠΎ части слова Π±Π΅Π· символа %).
      • πŸ”Ή РСшСниС: ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ запрос с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ синтаксиса полнотСкстового поиска:
        ВЫБРАВЬ *
        

        Π˜Π— Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура

        Π“Π”Π• ΠŸΠžΠ›ΠΠ«Π™Π’Π•ΠšΠ‘Π’(НаимСнованиС, 'Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½%')

      Ошибка 5: ИндСкс Π½Π΅ обновляСтся автоматичСски

      • πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ настройках Π‘Π£Π‘Π” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСксов.
      • πŸ”Ή РСшСниС: Для MS SQL Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:
        EXEC sp_configure 'show advanced options', 1;
        

        RECONFIGURE;

        EXEC sp_configure 'full text crawl bandwidth', 100;

        RECONFIGURE;

      ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: совСты для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·

      Если ваша Π±Π°Π·Π° 1Π‘ содСрТит ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ записСй, стандартныС настройки индСкса ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π΄Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ эффСкта. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ² для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

      1. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ индСксов ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ

      НС создавайтС ΠΎΠ΄ΠΈΠ½ большой индСкс для всСх справочников. Π›ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° нСсколько:

      • πŸ“Œ ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс для Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ).
      • πŸ“Œ ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс для Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг (Ссли Π½ΡƒΠΆΠ΅Π½ поиск ΠΏΠΎ коммСнтариям).

      2. Настройка расписания обновлСния

      Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… постоянноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ индСкс:

      • πŸ•’ Π’ Π½Π΅Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ часы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΡ‡ΡŒΡŽ).
      • πŸ”„ ΠŸΡ€ΠΈ достиТСнии ΠΏΠΎΡ€ΠΎΠ³Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ 1000 Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²).

      3. ИспользованиС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

      Если Π² тСкстовом ΠΏΠΎΠ»Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Ρ‹ ΠΈ описания), настройтС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ индСксирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. НапримСр, Π² MS SQL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

      CREATE FULLTEXT STOPLIST CustomStopList;
      

      ALTER FULLTEXT STOPLIST CustomStopList ADD 'Н/Π”' LANGUAGE 'Russian';

      4. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

      ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

      • πŸ“Š Π–ΡƒΡ€Π½Π°Π»Π° рСгистрации 1Π‘ (Ρ€Π°Π·Π΄Π΅Π» ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ).
      • πŸ–₯️ SQL Server Profiler (для Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов).
      ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Если Π² вашСй Π±Π°Π·Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ рСпликация ΠΈΠ»ΠΈ кластСризация, настройка полнотСкстового поиска ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий. НапримСр, Π² MS SQL Π½ΡƒΠΆΠ½ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ полнотСкстовыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° всСх ΡƒΠ·Π»Π°Ρ… кластСра.

      ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ полнотСкстовому поиску Π² 1Π‘: ΠΊΠΎΠ³Π΄Π° ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

      ИндСкс полнотСкстового поиска β€” Π½Π΅ СдинствСнный способ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ эффСктивнСС:

      ΠœΠ΅Ρ‚ΠΎΠ΄ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ»ΡŽΡΡ‹ ΠœΠΈΠ½ΡƒΡΡ‹
      ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ индСксы Π‘Π£Π‘Π” Для поиска ΠΏΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ совпадСниям (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Ρƒ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Ρƒ) БыстрСС полнотСкстового поиска для Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… запросов НС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для поиска ΠΏΠΎ части словам ΠΈΠ»ΠΈ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ
      Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π°) ΠŸΡ€ΠΎΡ‰Π΅ Π² настройкС, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ индСксирования НС Π³ΠΈΠ±ΠΊΠΈΠΉ β€” Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹
      Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ поисковыС систСмы (Elasticsearch, Sphinx) Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 1Π‘ с Π²Π΅Π±-сайтами ΠΈΠ»ΠΈ большими ΠΏΠΎΡ€Ρ‚Π°Π»Π°ΠΌΠΈ Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° слоТных запросов Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° инфраструктуру
      ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запросов Если ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ поисковыС запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ часто МгновСнная Π²Ρ‹Π΄Π°Ρ‡Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки, Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

      Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ:

      • πŸ” НуТно ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ части словам ΠΈΠ»ΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ? β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск.
      • πŸ”’ НуТно ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ совпадСниям (ΠΊΠΎΠ΄, Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»)? β†’ ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ индСкс Π‘Π£Π‘Π”.
      • 🌐 НуТна интСграция с внСшним сСрвисом? β†’ Π’Π½Π΅ΡˆΠ½ΡΡ поисковая систСма.

      FAQ: ЧастыС вопросы ΠΏΠΎ индСксу полнотСкстового поиска Π² 1Π‘

      МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ полнотСкстовый поиск Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘?

      Π”Π°, Π½ΠΎ с ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌΠΈ ограничСниями:

      • πŸ“‰ Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π±Π°Π· Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π΄ΠΎ 10 Π“Π‘.
      • 🐒 Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ поиска Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Ρ€Π΅ΠΆΠΈΠΌΠ΅.
      • πŸ”„ ИндСкс обновляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ сохранСнии Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π΅Ρ‚ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ обновлСния).

    Для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ).

    Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ индСкс Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ запросС?

    Π’ MS SQL Server ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ»Π°Π½ΠΎΠΌ выполнСния запроса:

    1. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° Π² SQL Server Management Studio (Query β†’ Include Actual Execution Plan).
    2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ваш запрос с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠŸΠžΠ›ΠΠ«Π™Π’Π•ΠšΠ‘Π’.
    3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² ΠΏΠ»Π°Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Full Text Search.

    Если Π΅Π³ΠΎ Π½Π΅Ρ‚ β€” индСкс Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

    • πŸ”Ή Запрос написан Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠŸΠžΠ”ΠžΠ‘ΠΠž вмСсто ΠŸΠžΠ›ΠΠ«Π™Π’Π•ΠšΠ‘Π’).
    • πŸ”Ή ИндСкс Π½Π΅ успСваСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ.
    Бколько мСста Π½Π° дискС Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ полнотСкстовый индСкс?

    ΠžΠ±ΡŠΡ‘ΠΌ индСкса зависит ΠΎΡ‚:

    • πŸ“„ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… (Π² срСднСм 20-30% ΠΎΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌΠ° индСксируСмых ΠΏΠΎΠ»Π΅ΠΉ).
    • 🌍 Π―Π·Ρ‹ΠΊΠ° тСкста (русский Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС мСста ΠΈΠ·-Π·Π° ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ).
    • πŸ”§ НастроСк Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² MS SQL ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ°Ρ‚ΡŒ индСкс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FULLTEXT CATALOG).

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ссли Ρƒ вас справочник Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° 1 Π“Π‘ с тСкстовыми полями, индСкс Π·Π°ΠΉΠΌΡ‘Ρ‚ ~200-300 ΠœΠ‘.

    πŸ’‘ Π‘ΠΎΠ²Π΅Ρ‚: Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ индСкса, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΈΠ· индСксирования поля с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ тСкстами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ОписаниС, Ссли ΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² поискС).

    МоТно Π»ΠΈ пСрСнСсти индСкс Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр?

    Π”Π°, Π½ΠΎ это Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°. Бпособы пСрСноса зависят ΠΎΡ‚ Π‘Π£Π‘Π”:

    • πŸ”Ή MS SQL Server:
      1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ полнотСкстового ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (.ndf) Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.
      2. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ ΠΈΡ… ΠΊ Π½ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CREATE FULLTEXT CATALOG.
      3. ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ индСксы Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ 1Π‘.
  • πŸ”Ή PostgreSQL:
    1. ЭкспортируйтС Π΄Π°Π½Π½Ρ‹Π΅ индСкса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pg_dump.
    2. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π½Π° Π½ΠΎΠ²ΠΎΠΌ сСрвСрС.
    3. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкс ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ REINDEX.
  • ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ПослС пСрСноса индСкс Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ссылки Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ.
    Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ индСкс полнотСкстового поиска, Ссли ΠΎΠ½ большС Π½Π΅ Π½ΡƒΠΆΠ΅Π½?

    Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ индСкс:

    1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ 1Π‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Администратор.
    2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² АдминистрированиС β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск β†’ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹Π΅ индСксы.
    3. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ индСкс ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ.
    4. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ β€” систСма автоматичСски очистит Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π£Π‘Π”.

    Если индСкс Π½Π΅ удаляСтся (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° ошибок Π² Π‘Π£Π‘Π”), Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ очистку Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

    • πŸ”Ή Для MS SQL:
      DROP FULLTEXT INDEX ON [dbo].[Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ_НомСнклатура];
    • πŸ”Ή Для PostgreSQL:
      DROP INDEX IF EXISTS idx_Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°_fulltext;