Element noindex undefined: typescript β€” Element implicitly has β€˜any’ type because type has no index signature

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π΄Π΅Π»Π°Π΅ΠΌ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° сайтС

ΠŸΡ€ΠΈΠ²Π΅Ρ‚.  Π‘Ρ€Π°Π·Ρƒ ΠΎΡ‚Π²Π΅Ρ‡Ρƒ Π½Π° ваш вопрос: стоит Π»ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π’Π°ΠΌ этот ΡƒΡ€ΠΎΠΊ? ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΈ бСсплатный сСрвис validator.w3.org, Π²Π±Π΅ΠΉΡ‚Π΅ Ρ‚ΡƒΠ΄Π° адрСс своСго сайта ΠΈ, Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° Π’Π°ΡˆΠ΅ΠΌ сайтС Π΅ΡΡ‚ΡŒ ошибки, Ρ‚ΠΎ ΡƒΡ€ΠΎΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ стоит. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ отобраТСния ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Π°:

На ΠΌΠΎΠ΅ΠΌ ΠΆΠ΅ Π±Π»ΠΎΠ³Π΅ сСйчас Π½Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ошибок, я ΠΎΡ‚ Π½ΠΈΡ… избавился (всСго Π±Ρ‹Π»ΠΎ Π±ΠΎΠ»Π΅Π΅ 70 ошибок ΠΈ Π±ΠΎΠ»Π΅Π΅ 80-Ρ‚ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ). Π§Ρ‚ΠΎΠ±Ρ‹ внСсти  ΡΡΠ½ΠΎΡΡ‚ΡŒ, расскаТу, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ.

Π’Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт стандартам.

На Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ HTML, CSS, всячСскиС ΠΌΠΈΠΊΡ€ΠΎΡ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. БСгодня я расскаТу ΠΏΡ€ΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π² HTML.

  • Π’Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ нСобязатСлСн, Π½ΠΎ количСство ошибок Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈΠ½Π°Ρ‡Π΅ ваш сайт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ кроссбраузСрным. Π’Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π½ΡƒΠΆΠ½Π° Π² ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш сайт отобраТался ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….
  • ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ Β«Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚Β» с вашим сайтом Π½Π° языкС HTML, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΈ ясно ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° сайтС со всСми Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Ρ‚Π΅Π³Π°ΠΌΠΈΒ» ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅.
  • Π’Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ HTML влияСт Π½Π° SEO, Π½ΠΎ довольно Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρƒ вас Π½Π΅ сотни, Π° Ρ‚ΠΎ ΠΈ тысячи ошибок). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ интСрСсныС наблюдСния Π”Π΅Π²Π°ΠΊΠΈ «ВлияниС качСства HTML Π½Π° ΠΈΡ… Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β».
  • Когда я Π΄Π΅Π»Π°Π» Π½Π° своСм сайтС ΠΊΠΎΠ΄ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ, я нашСл ΠΈ исправил свои Π³Π»ΡƒΠΏΡ‹Π΅ ошибки (ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ², пропущСнная Π±ΡƒΠΊΠ²Π° ΠΈ Ρ‚.ΠΏ.).
  • НС стоит Β«Ρ€Π²Π°Ρ‚ΡŒ сСбС *ΠΎΠΏΡƒΒ», Ссли ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ слоТно ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π΅Π΅ исправлСниС принСсСт Π²Ρ€Π΅Π΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сайта. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

НиТС я Ρ€Π°Π·Π±Π΅Ρ€Ρƒ основныС ошибки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€. Π•сли Π²Π΄Ρ€ΡƒΠ³ Π² спискС Π½ΠΈΠΆΠ΅ Π½Π΅ окаТСтся вашСй ошибки, Π²ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π΅ Π² коммСнтариях, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ вмСстС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΈ я добавлю Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π΄Π°, ошибки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ w3c смотрим Ρ‚ΡƒΡ‚:

 

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ошибкС Π΅ΡΡ‚ΡŒ подсказка β€” это Π½ΠΎΠΌΠ΅Ρ€ строки Π² исходном ΠΊΠΎΠ΄Π΅ страницС, Π° ΠΈΠ· Π½Π΅Π΅ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ‚Π΅ΠΌΡ‹ располоТСна данная строка. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ страницы смотрим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CTRL+U (Π² основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…).

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, сдСлайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию шаблона вашСго сайта.

Π’Π°ΠΊΠΆΠ΅ для упрощСния нахоТдСния ошибок Π² исходном ΠΊΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HTML Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ для Mozilla Firefox. Установив Π΅Π³ΠΎ, пСрСйдя Π² исходный ΠΊΠΎΠ΄ страницы, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ самыС ошибки, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сСрвис validator.w3.org.  ΠšΠ»ΠΈΠΊΠ½ΡƒΠ² ΠΏΠΎ названию ошибки (Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ), вас автоматичСски пСрСбросит Π½Π° Ρ‚Ρƒ строчку, Π³Π΄Π΅ находится Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

НахоТдСниС ошибок Π² HTML с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Π° w3c ΠΈ ΠΈΡ… исправлСниС

Π˜Ρ‰ΠΈΡ‚Π΅ Π² спискС Π½ΠΈΠΆΠ΅ свою ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ, вас автоматичСски Β«ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Β» ΠΊΡƒΠ΄Π° Π½Π°Π΄ΠΎ.

  1. No space between attributes.
  2. The width attribute on the td element is obsolete. Use CSS instead.
  3. An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.
  4. Section lacks heading. Consider using h3-h6 elements to add identifying headings to all sections.
  5. The hgroup element is obsolete. To mark up subheadings, consider either just putting the subheading into a p element after the h2-h6 element containing the main heading, or…
  6. Element Β«noindexΒ» undefined.
  7. End tag for element Β«divΒ» which is not open
  8. Document type does not allow element Β«liΒ» here; missing one of Β«ulΒ», Β«olΒ», Β«menuΒ», Β«dirΒ» start-tag.
  9. End tag for Β«divΒ» omitted, but OMITTAG NO was specified.
  10. There is no attribute Β«borderΒ».
  11. Character Β«<Β» is the first character of a delimiter but occurred as data.
  12. Saw Β» when expecting an attribute name. Probable cause: = missing immediately before.
  13. The align attribute on the img element is obsolete. Use CSS instead.
  14. Bad value Π‘Π»ΠΎΠ³ АлСксСя Π‘ΠΌΠΈΡ€Π½ΠΎΠ²Π° for attribute href on element link: Illegal character in path segment: not a URL code point.

1. No space between attributes.

…rel=Β»shortcut iconΒ» href=Β»http://arbero.ru/favicon.icoΒ» ; type=Β»image/x-iconΒ» ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ Β«Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой».

2. The width attribute on the td element is obsolete. Use CSS instead.

td valign=Β»centerΒ» width=Β»80β€³ height=Β»80β€³ >

ПодобноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ ΠΊ Π²ΠΈΠ΄Ρƒ

td style=Β»align:center; width:80; height: 80;Β»>

3. An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.

Одна ΠΈΠ· самых частых ошибок. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ тСкста для ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ. ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Π³ alt.

4. Section lacks heading. Consider using h3-h6 elements to add identifying headings to all sections.

section id=Β»commentsΒ» >

Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° section Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· Ρ‚Π΅Π³ΠΎΠ² h3-h6, Ссли ΠΈΡ… Π½Π΅Ρ‚, просто ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ слово section Π½Π° div

 5. The hgroup element is obsolete. To mark up subheadings, consider either just putting the subheading into a p element after the h2-h6 element containing the main heading,

or else putting the subheading directly within the h2-h6 element containing the main heading, but separated from the main heading by punctuation and/or within, for example, a span class=Β»subheadingΒ» element with differentiated styling. To group headings and subheadings, alternative titles, or taglines, consider using the header or div elements.

Аналогично ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ мСняСм Ρ„Ρ€Π°Π·Ρƒ hgroup Π½Π° div. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт «Найти/Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС» Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ процСссы.

6. Element Β«noindexΒ» undefined

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅Π³ noindex стал Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ, пишСм Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ коммСнтирования, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊ:

&lt;!--noindex--&gt;НСиндСксируСм&lt;!--/noindex--&gt;

7. End tag for element Β«divΒ» which is not open

Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ div лишний. Π£Π±ΠΈΡ€Π°Π΅ΠΌ Π΅Π³ΠΎ.

8. Document type does not allow element Β«liΒ» here; missing one of Β«ulΒ», Β«olΒ», Β«menuΒ», Β«dirΒ» start-tag

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС Ρ‚Π΅Π³Π° Β«liΒ»: отсутствуСт Ρ‚Π΅Π³ Β«ulΒ», Β«olΒ» ΠΈ Π΄Ρ€. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅.

9. End tag for Β«divΒ» omitted, but OMITTAG NO was specified

НС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Π³Π° div.

10. There is no attribute Β«borderΒ»

alt=»» width=Β»1β€³ height=Β»1β€³ border=Β«0β€³/>

ΠŸΡ€ΠΎΡΡ‚ΠΎ удаляСм Ρ„Ρ€Π°Π·Ρƒ border=Β»0β€³.

11. Character Β«<Β» is the first character of a delimiter but occurred as data

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π΅Π³ Β«<Β» ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ словами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

12. Saw Β» when expecting an attribute name. Probable cause: = missing immediately before.

Π›ΠΈΡˆΠ½ΡΡ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π΅.

13. The align attribute on the img element is obsolete. Use CSS instead.

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ align Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π° img. ΠŸΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅:

&lt;div align='center'&gt;Ρ‚ΡƒΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° (img src)&lt;/div&gt;

14. Bad value for attribute href on element link: Illegal character in path segment: not a URL code point.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π² href Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ссылкой, Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с http, Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ слово.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если Ρƒ вас Π½Π° сайтС Π΅ΡΡ‚ΡŒ какая-Ρ‚ΠΎ ошибка, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π² этом спискС β€” ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях. РазбСрСмся, Π° я дополню ΡΡ‚Π°Ρ‚ΡŒΡŽ. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ, Ссли ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π΅ получаСтся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½Π΅ стоит Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

Π£ мСня Π½Π° Π±Π»ΠΎΠ³Π΅ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ ошибка (хотя Π΅Ρ‰Π΅ Π²Ρ‡Π΅Ρ€Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π±Π΅Π· ошибок):

The text content of element script was not in the required format: Expected space, tab, newline, or slash but found < instead.

Если Π² курсС, ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅, Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½. Π― Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ пСрфСкционист. πŸ™‚

Π‘ΡƒΠ΄Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ HTML ΠΊΠΎΠ΄ сайта Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ?

ПоТСлаю Π²Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ HTML ΠΊΠΎΠ΄ Π½Π° вашСм сайтС, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выглядит Ρ‚Π°ΠΊ:

P.s. Π’Ρ‹ часто ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ свой ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌ? Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° дСтоксикации. ВосстановитС силы ΠΈ энСргСтичСский баланс.

 

HTML/Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ var

Бинтаксис

(X)HTML

<var> ... </var>

ОписаниС

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ var (ΠΎΡ‚ Π°Π½Π³Π». Β«variableΒ» β€’ «пСрСмСнная») ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² тСкстС. Под ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ пСрСмСнная ΠΈΠ· матСматичСского выраТСния ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, матСматичСская (ΠΈΠ»ΠΈ другая) постоянная, физичСская Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ просто Ρ‚Π΅Ρ€ΠΌΠΈΠ½ (слово-Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ρ‡Π΅ΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² тСкстС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ВСкст, Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ β€˜ΠΊΡƒΡ€ΡΠΈΠ²ΠΎΠΌβ€™.

Π‘ΠΎΠ²Π΅Ρ‚

Π’ случаС использования Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Π°/Π±Π»ΠΎΠΊΠ° с матСматичСским языком Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ MathML, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для написания Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Π² описании ΠΊ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт для выдСлСния ΠΈΠ· тСкста ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹.


ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Chrome

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

Firefox

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

Opera

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

Maxthon

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

IExplorer

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

Safari

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

iOS

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.

Android

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆ.


БпСцификация

ВСрс.Π Π°Π·Π΄Π΅Π»
HTML
2.0Variable: VARΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄
3. 2
Phrase Elements
4.019.2.1 Phrase elements: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, and ACRONYM
DTD: Transitional Strict Frameset
5.04.5.13 The var element
5.14.5.18. The var element
XHTML
1.0Extensible HyperText Markup Language
DTD: Transitional Strict Frameset
1.1Extensible HyperText Markup Language

Атрибуты

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹
accesskey, class, contenteditable, contextmenu, data-*, dir, draggable, dropzone, hidden, id, inert, lang, spellcheck, style, tabindex, title, translate, xml:lang

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования

Листинг ΠΊΠΎΠ΄Π°

<!DOCTYPE html>
<html>
<head>
<meta charset=Β»utf-8β€³>
<title>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ var</title>
</head>
<body>
<h2>ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования элСмСнта Β«varΒ»</h2>
<h3>ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1</h3>
<p>Если пСрСмСнная <var>box</var> Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«<samp>undefined</samp>Β», Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½Π° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°. </p>
</body>
</html>

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ var

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования Azure Cosmos DB

  • Π‘Ρ‚Π°Ρ‚ΡŒΡ

ΠŸΠ Π˜ΠœΠ•ΠΠ―Π•Π’Π‘Π― К: NoSQL

Π’ Azure Cosmos DB Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для вновь созданных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² индСксируСт ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ свойство ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΈ примСняСт индСксы Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° для любой строки ΠΈΠ»ΠΈ числа. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ± индСксировании ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ индСксами.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ это автоматичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ соотвСтствовало вашим трСбованиям.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ индСксирования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, установив Ρ€Π΅ΠΆΠΈΠΌ индСксирования ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡƒΡ‚ΠΈ ΠΊ свойствам .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠœΠ΅Ρ‚ΠΎΠ΄ обновлСния ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ индСксирования, описанный Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ API Azure Cosmos DB для NoSQL. Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎΠ± индСксировании Π² API Azure Cosmos DB для MongoDB

Π Π΅ΠΆΠΈΠΌ индСксирования

Azure Cosmos DB ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° индСксирования:

  • НСпротиворСчивый : ИндСкс обновляСтся синхронно ΠΏΡ€ΠΈ создании, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнтов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… запросов Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ, настроСнной для ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи.
  • НСт : Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ чистоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π΅Π· нСобходимости использования Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов. Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
    ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ индСкса ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° «Богласованный», Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IndexTransformationProgress Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Azure Cosmos DB Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ индСксирования. ЛСнивая индСксация выполняСт обновлСния индСкса с Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСсогласованным ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ запроса. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Azure Cosmos DB, Π½Π΅ слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ индСксированиС. НовыС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π»Π΅Π½ΠΈΠ²ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΏΠΎ адрСсу Cosmosdblazyindexing@microsoft.com (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Azure Cosmos DB Π² бСссСрвСрном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ индСксированиС).

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования установлСна ​​на автоматичСски . Π­Ρ‚ΠΎ достигаСтся установкой для свойства Automatic Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ индСксирования значСния true . Установка для этого свойства значСния true позволяСт Azure Cosmos DB автоматичСски ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… записи.

Π Π°Π·ΠΌΠ΅Ρ€ индСкса

Π’ Azure Cosmos DB ΠΎΠ±Ρ‰ΠΈΠΉ потрСбляСмый объСм Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° индСкса. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Ρ€Π°Π·ΠΌΠ΅Ρ€Π° индСкса:

  • Π Π°Π·ΠΌΠ΅Ρ€ индСкса зависит ΠΎΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования. Если всС свойства проиндСксированы, Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… индСксы ΡƒΠΏΠ»ΠΎΡ‚Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ. Однако ΠΏΡ€ΠΈ нСбольшом ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° индСкса.
  • Π Π°Π·ΠΌΠ΅Ρ€ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ физичСских Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ индСкса освобоТдаСтся послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ раздСлСния Ρ€Π°Π·Π΄Π΅Π»Π°.

Π’ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡƒΡ‚ΠΈ свойств

НастраиваСмая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΊ свойствам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ явно Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠ· индСксации. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡ количСство индСксируСмых ΠΏΡƒΡ‚Π΅ΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° RU ΠΏΡ€ΠΈ опСрациях записи. Π­Ρ‚ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² соотвСтствии с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, описанным Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΠ±Π·ΠΎΡ€Π° индСксации, со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ дополнСниями:

  • ΠΏΡƒΡ‚ΡŒ, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΊ скалярному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (строка ΠΈΠ»ΠΈ число), заканчиваСтся /?
  • элСмСнта массива Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ вмСстС Ρ‡Π΅Ρ€Π΅Π· /[] ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (вмСсто /0 , /1 ΠΈ Ρ‚.Π΄.)
  • подстановочный Π·Π½Π°ΠΊ /* ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для соотвСтствия Π»ΡŽΠ±Ρ‹ΠΌ элСмСнтам Π½ΠΈΠΆΠ΅ ΡƒΠ·Π»Π°
  • .

Π‘Π½ΠΎΠ²Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 {
        "ΠœΠ΅ΡΡ‚Π°": [
            { "страна": "ГСрмания", "Π³ΠΎΡ€ΠΎΠ΄": "Π‘Π΅Ρ€Π»ΠΈΠ½" },
            { "страна": "Ѐранция", "Π³ΠΎΡ€ΠΎΠ΄": "ΠŸΠ°Ρ€ΠΈΠΆ" }
        ],
        Β«ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°Β»: { «страна»: Β«Π‘Π΅Π»ΡŒΠ³ΠΈΡΒ», «сотрудники»: 250 },
        "экспорт": [
            { "Π³ΠΎΡ€ΠΎΠ΄": "Москва" },
            { "Π³ΠΎΡ€ΠΎΠ΄": "Афины" }
        ]
    }
 
  • ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π° сотрудников ΠΏΡƒΡ‚ΡŒ /ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°/сотрудники/?

  • мСст β€˜ страна ΠΏΡƒΡ‚ΡŒ /мСста/[]/страна/?

  • ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‡Π΅ΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€ΠΎΠΉ β€” это /ΡˆΡ‚Π°Π±-ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°/*

НапримСр, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ /headquarters/employees/? ΠΏΡƒΡ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ проиндСксируСм свойство сотрудников, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ JSON Π² этом свойствС.

БтратСгия Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π›ΡŽΠ±Π°Ρ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ /* Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ рСкомСндуСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ позволяСт Azure Cosmos DB Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любоС Π½ΠΎΠ²ΠΎΠ΅ свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π²Π°ΡˆΡƒ модСль.

  • Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡƒΡ‚ΡŒ ΠΊ свойству ΠΊΠ»ΡŽΡ‡Π° сСкции Π½Π΅ индСксируСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стратСгии ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ явно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΡ€ΠΈ нСобходимости.

  • Для ΠΏΡƒΡ‚Π΅ΠΉ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ символами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы ΠΈ _ (ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅), Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку ΠΏΡƒΡ‚ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«/path/?Β»). Для ΠΏΡƒΡ‚Π΅ΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строку ΠΏΡƒΡ‚ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«/Β»path-abcΒ»/?Β»). Если Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° вашСм ΠΏΡƒΡ‚ΠΈ появятся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π² цСлях бСзопасности. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΈΠ·Π±Π΅ΠΆΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ всСх ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы.

  • БистСмноС свойство _etag ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ· индСксации, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ etag Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ для индСксации.

  • Если для Ρ€Π΅ΠΆΠΈΠΌΠ° индСксации установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ , систСмныС свойства id ΠΈ _ts ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски.

  • Если Π² элСмСнтС Π½Π΅ сущСствуСт явно проиндСксированного ΠΏΡƒΡ‚ΠΈ, ΠΊ индСксу Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½.

ВсС явно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊ индСксу для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Π΄Π°ΠΆΠ΅ Ссли ΠΏΡƒΡ‚ΡŒ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ индСксации для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡƒΡ‚Π΅ΠΉ.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Если Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚, ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ : /ΠΏΠΈΡ‰Π°/ΠΈΠ½Π³Ρ€Π΅Π΄ΠΈΠ΅Π½Ρ‚Ρ‹/ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅/*

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ : /food/ingredients/*

Π’ этом случаС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅Π½. На основС этих ΠΏΡƒΡ‚Π΅ΠΉ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡƒΡ‚ΠΈ food/ingredients ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈΠ· индСкса. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ: /food/ingredients/nutrition/* , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ проиндСксированы.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² Azure Cosmos DB:

  • Π‘ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹, Ρ‡Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΈΠ΅. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: /Π°/Π±/? Ρ‚ΠΎΡ‡Π½Π΅Π΅ /a/? .

  • /? Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‡Π΅ΠΌ /* . НапримСр /Π°/? Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‡Π΅ΠΌ /a/* , Π·Π½Π°Ρ‡ΠΈΡ‚, /a/? ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

  • ΠŸΡƒΡ‚ΡŒ /* Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ индСксы

Когда Π²Ρ‹ опрСдСляСтС пространствСнный ΠΏΡƒΡ‚ΡŒ Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ индСксирования, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ индСкса слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ этому ΠΏΡƒΡ‚ΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ пространствСнных индСксов Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  • Point

  • Полигон

  • ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½

  • LineString

Azure Cosmos DB ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ создаСт пространствСнныС индСксы. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС пространствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SQL, Π²Π°ΠΌ слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пространствСнный индСкс для Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… свойств. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ индСксирования для добавлСния пространствСнных индСксов.

БоставныС индСксы

Запросы, содСрТащиС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY с двумя ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ свойствами, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ составного индСкса. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ составной индСкс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… запросов Π½Π° равСнство ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ составныС индСксы Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, поэтому ΠΈΡ… слСдуСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ с подстановочным Π·Π½Π°ΠΊΠΎΠΌ /* . ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ составной ΠΏΡƒΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ нСявный /? Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. БоставныС ΠΏΡƒΡ‚ΠΈ Π²Π΅Π΄ΡƒΡ‚ ΠΊ скалярному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся СдинствСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Π² составной индСкс. Если ΠΏΡƒΡ‚ΡŒ Π² составном индСксС Π½Π΅ сущСствуСт Π² элСмСнтС, ΠΊ индСксу Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½.

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ составного индСкса ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ составного индСкса запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½Ρ‹Π΅ индСксы, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ составного индСкса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ добавляСтС составной индСкс, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π₯ΠΎΠ΄ прСобразования индСкса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· SDK.

Запросы ORDER BY для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… свойств:

ΠŸΡ€ΠΈ использовании составных индСксов для запросов с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ORDER BY с двумя ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ свойствами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сообраТСния:

  • Если ΠΏΡƒΡ‚ΠΈ составного индСкса Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ свойств Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ORDER BY , составной индСкс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ запрос.

  • ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΡƒΡ‚Π΅ΠΉ составного индСкса (ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ) Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π· Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ ORDER BY .

  • Боставной индСкс Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΌ порядком Π½Π° всСх путях.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ составной индСкс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ для свойств name, age ΠΈ _ts:

Боставной индСкс ΠžΠ±Ρ€Π°Π·Π΅Ρ† ORDER BY Запрос ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ составным индСксом?
(имя АБЦ, возраст АБЦ) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c. name ASC, c.age asc Π”Π°
(имя ASC, возраст ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c.age ASC, c.name asc β„–
(имя ASC, возраст ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c.name DESC, c.age DESC Π”Π°
(имя ASC, возраст ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c.name ASC, c.age DESC β„–
(имя ASC, возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c.name ASC, c.age ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC Π”Π°
(имя ASC, возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c ORDER BY c.name ASC, c.age ASC β„–

Π’Π°ΠΌ слСдуСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ индСксирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ запросы ORDER BY .

Запросы с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ нСскольким свойствам

Если Π² запросС Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ свойствам, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ составной индСкс для этих свойств.

НапримСр, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ равСнства ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½:

 SELECT *
ОВ Б
Π“Π”Π• c.name = "Π”ΠΆΠΎΠ½" И c.age > 18
 

Π­Ρ‚ΠΎΡ‚ запрос Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π·Π°ΠΉΠΌΠ΅Ρ‚ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС RU, Ссли ΠΎΠ½ смоТСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной индСкс для (имя ASC, возраст ASC) .

Запросы с нСсколькими Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ составного индСкса. Однако ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ составной индСкс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€. Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ > , < , <= , >= ΠΈ != . Π€ΠΈΠ»ΡŒΡ‚Ρ€ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ послСдним Π² составном индСксС.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ равСнства ΠΈ двумя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

 SELECT *
ОВ Б
Π“Π”Π• c. name = "John" И c.age > 18 И c._ts > 1612212188
 

Π­Ρ‚ΠΎΡ‚ запрос Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивным с составным индСксом (имя ASC, возраст ASC) ΠΈ (имя ASC, _ts ASC) . Однако запрос Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной индСкс для (возраст ASC, имя ASC) , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ свойства с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ равСнства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² составном индСксС ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ. Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… составных индСкса вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ составного индСкса Π½Π° (имя ASC, возраст ASC, _ts ASC) , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ составной индСкс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

ΠŸΡ€ΠΈ создании составных индСксов для запросов с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ нСскольким свойствам ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сообраТСния.

  • ВыраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько составных индСксов.
  • Бвойства Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ запроса Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ со свойствами составного индСкса. Если свойство находится Π² составном индСксС, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² запрос Π² качСствС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, запрос Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной индСкс.
  • Если Ρƒ запроса Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² составном индСксС, Ρ‚ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ запроса Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ комбинация составного ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½ΠΎΠ³ΠΎ индСксов. Для этого потрСбуСтся мСньшС Π΅Π΄ΠΈΠ½ΠΈΡ† запроса, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ индСксов Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ².
  • Если Ρƒ свойства Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ( > , < , <= , >= ΠΈΠ»ΠΈ != ), Ρ‚ΠΎ это свойство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ послСдним Π² составном индСксС. Если запрос ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… составных индСксов.
  • ΠŸΡ€ΠΈ создании составного индСкса для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов с нСсколькими Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ ORDER составного индСкса Π½Π΅ повлияСт Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π­Ρ‚ΠΎ свойство являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… составной индСкс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ для ΠΈΠΌΠ΅Π½ΠΈ свойства, возраста ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

Боставной индСкс ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ составным индСксом?
(имя ASC, возраст ASC) SELECT * FROM c WHERE c. name = "John" AND c.age = 18 Π”Π°
(имя ASC, возраст ASC) SELECT * FROM c WHERE c.name = "John" AND c.age > 18 Π”Π°
(имя ASC, возраст ASC) SELECT COUNT(1) FROM c WHERE c.name = "John" AND c.age > 18 Π”Π°
(имя DESC, возраст ASC) SELECT * FROM c WHERE c.name = "John" AND c.age > 18 Π”Π°
(имя ASC, возраст ASC) SELECT * FROM c WHERE c.name != "John" AND c.age > 18 β„–
(имя ASC, возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.name = "John" AND c.age = 18 AND c.timestamp > 123049923 Π”Π°
(имя ASC, возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c. name = "John" AND c.age < 18 AND c.timestamp = 123049923 β„–
(имя ASC, возраст ASC) ΠΈ (имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.name = "John" AND c.age < 18 AND c.timestamp > 123049923 Π”Π°

Запросы с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΈ ORDER BY

Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько свойств ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ свойства Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ORDER BY, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свойства Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY .

НапримСр, Π΄ΠΎΠ±Π°Π²ΠΈΠ² свойства Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY , ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос для использования составного индСкса:

Запрос с использованиСм индСкса Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

 SELECT *
ОВ Б
Π“Π”Π• c.name = "Π”ΠΆΠΎΠ½"
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.timestamp
 

Запрос с использованиСм составного индСкса:

 SELECT *
ОВ Б
Π“Π”Π• c.name = "Π”ΠΆΠΎΠ½"
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.name, c.timestamp
 

Π’Π΅ ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ для Π»ΡŽΠ±Ρ‹Ρ… запросов ORDER BY с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ, учитывая, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ составныС индСксы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

Запрос с использованиСм индСкса Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

 SELECT *
ОВ Б
Π“Π”Π• c.name = "John" И c.age = 18 И c.timestamp > 1611947901
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.timestamp
 

Запрос с использованиСм составного индСкса:

 SELECT *
ОВ Б
Π“Π”Π• c.name = "John" И c.age = 18 И c.timestamp > 1611947901
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.name, c.age, c.timestamp
 

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составныС индСксы для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов с систСмными функциями ΠΈ ORDER BY:

Запрос с использованиСм индСкса Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

 SELECT *
ОВ Б
Π“Π”Π• c.firstName = "Π”ΠΆΠΎΠ½" И Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ (c.lastName, "Π‘ΠΌΠΈΡ‚", ΠΏΡ€Π°Π²Π΄Π°)
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.lastName
 

Запрос с использованиСм составного индСкса:

 SELECT *
ОВ Б
Π“Π”Π• c.firstName = "Π”ΠΆΠΎΠ½" И Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ (c.lastName, "Π‘ΠΌΠΈΡ‚", ΠΏΡ€Π°Π²Π΄Π°)
Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.firstName, c.lastName
 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сообраТСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΏΡ€ΠΈ создании составных индСксов для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запроса с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ORDER BY :

  • Если Π²Ρ‹ Π½Π΅ опрСдСляСтС составной индСкс для запроса с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ свойству ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ORDER Если Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ BY ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ свойство, запрос всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Однако ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ RU запроса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ составного индСкса, особСнно Ссли свойство Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ORDER BY ΠΈΠΌΠ΅Π΅Ρ‚ большоС количСство элСмСнтов.
  • Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ свойства, эти свойства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ сначала Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY .
  • Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ нСсколько свойств, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ равСнства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ свойствами Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ORDER BY .
  • Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ нСсколько свойств, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈΠ»ΠΈ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ составного индСкса. Бвойство, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈΠ»ΠΈ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ послСдним Π² составном индСксС.
  • ВсС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ созданию составных индСксов для запросов ORDER BY с нСсколькими свойствами, Π° Ρ‚Π°ΠΊΠΆΠ΅ запросов с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ нСскольким свойствам ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² силС.
Боставной индСкс ΠžΠ±Ρ€Π°Π·Π΅Ρ† ORDER BY Запрос ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ составным индСксом?
(имя ASC, ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c. name = "John" ORDER BY c.name ASC, c.timestamp ASC Π”Π°
(имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.name = "John" AND c.timestamp > 1589840355 Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.name ASC, c.timestamp ASC Π”Π°
(ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC, имя ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c, Π“Π”Π• c.timestamp > 1589840355 И c.name = "John" Π—ΠΠšΠΠ—ΠΠ’Π¬ ПО c.timestamp ASC, c.name ASC β„–
(имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.name = "John" ORDER BY c.timestamp ASC, c.name ASC β„–
(имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.name = "John" ORDER BY c.timestamp ASC β„–
(возраст ASC, имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• * Π˜Π— c, Π“Π”Π• c. age = 18 ΠΈ c.name = "John" ORDER BY c.age ASC, c.name ASC, c.timestamp ASC Π”Π°
(возраст ASC, имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT * FROM c WHERE c.age = 18 and c.name = "John" ORDER BY c.timestamp ASC β„–

Запросы с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠΌ

Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько свойств ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΡƒΡŽ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ составной индСкс для свойств Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΎΠΉ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚Π° оптимизация примСняСтся ΠΊ систСмным функциям SUM ΠΈ AVG.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сообраТСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΏΡ€ΠΈ создании составных индСксов для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запроса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ агрСгирования.

  • БоставныС индСксы Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запросов с Π°Π³Ρ€Π΅Π³Π°Ρ‚Π°ΠΌΠΈ. Однако ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ запросов Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ запросов часто ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ составного индСкса.
  • Если запрос Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ нСсколько свойств, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ равСнства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ свойствами Π² составном индСксС.
  • Π£ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ составного индСкса, ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² свойствС Π² Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • Бвойство Π² Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ послСдним Π² составном индСксС.
  • Π—Π°ΠΊΠ°Π· ( ASC ΠΈΠ»ΠΈ DESC ) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.
Боставной индСкс ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ составным индСксом?
(имя ASC, ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• AVG(c.timestamp) FROM c WHERE c.name = "John" Π”Π°
(ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC, имя ASC) Π’Π«Π‘Π•Π Π˜Π’Π• AVG(c.timestamp) FROM c WHERE c.name = "John" β„–
(имя ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• AVG(c. timestamp) FROM c WHERE c.name > "John" β„–
(имя ASC, возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) Π’Π«Π‘Π•Π Π˜Π’Π• AVG(c.timestamp) FROM c WHERE c.name = "John" AND c.age = 25 Π”Π°
(возраст ASC, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ASC) SELECT AVG(c.timestamp) FROM c WHERE c.name = "John" AND c.age > 25 β„–

ИзмСнСниС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ индСксирования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² любоС врСмя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ€Ρ‚Π°Π»Π° Azure ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² SDK. ОбновлСниС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ старого индСкса Π² Π½ΠΎΠ²Ρ‹ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выполняСтся ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈ Π½Π° мСстС (поэтому Π²ΠΎ врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство для хранСния). Бтарая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° индСксирования эффСктивно прСобразуСтся Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ, Π½Π΅ влияя Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ для записи, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ для чтСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса β€” это асинхронная опСрация, ΠΈ врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π΅Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, зависит ΠΎΡ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ пропускной способности, количСства элСмСнтов ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Π’Π°ΠΆΠ½ΠΎ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса β€” это опСрация, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ запроса. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ запроса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ индСкса, Π² настоящСС врСмя Π½Π΅ ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ бСссСрвСрныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. ΠŸΠ»Π°Ρ‚Π° Π·Π° эти Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ запросов Π±ΡƒΠ΄Π΅Ρ‚ выставлСна ​​послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ бСссСрвСрныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ станут общСдоступными.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π₯ΠΎΠ΄ прСобразования индСкса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ Azure ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² SDK.

Никакого влияния Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ записи Π²ΠΎ врСмя Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ индСкса Π½Π΅Ρ‚. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ Π•Π—, Π½ΠΎ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ запросы CRUD.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… индСксированных ΠΏΡƒΡ‚Π΅ΠΉ Π½Π΅ влияСт Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ для чтСния. Запросы Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ индСксированныС ΠΏΡƒΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ прСобразования индСкса. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ индСксированного ΠΏΡƒΡ‚ΠΈ запросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ этот индСксированный ΠΏΡƒΡ‚ΡŒ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎ ΠΈ Π²ΠΎ врСмя прСобразования индСкса. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ прСобразования индСкса ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ запросов Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ индСксированныС ΠΏΡƒΡ‚ΠΈ.

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ индСксированных ΠΏΡƒΡ‚Π΅ΠΉ слСдуСт ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС измСнСния Π² ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования. Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ нСсколько индСксов ΠΈ сдСлаСтС это ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ запросов прСдоставит согласованныС ΠΈ ΠΏΠΎΠ»Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° протяТСнии всСго прСобразования индСкса. Однако Ссли Π²Ρ‹ удаляСтС индСксы посрСдством Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ запросов Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ согласованныС ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ всС прСобразования индСксов. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ индСксы, Π° Π·Π°Ρ‚Π΅ΠΌ сразу ΠΆΠ΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ эти индСксы, поэтому Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ такая ситуация маловСроятна.

Когда Π²Ρ‹ удаляСтС проиндСксированный ΠΏΡƒΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ запросов Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ использованиС ΠΈ вмСсто этого выполняСт ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

По возмоТности всСгда слСдуСт ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ индСксирования Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ индСксирования ΠΈ TTL

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Time-to-Live (TTL) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ индСксирования. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ:

  • Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ TTL для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π³Π΄Π΅ Ρ€Π΅ΠΆΠΈΠΌ индСксации установлСн Π½Π° Π½Π΅Ρ‚ ,
  • Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ индСксирования None для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ TTL.

Π’ сцСнариях, Π³Π΄Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ свойству, Π½ΠΎ трСбуСтся TTL, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ индСксирования с Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ индСксирования, установлСнным Π½Π° согласованный , Π±Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈ /* Π² качСствС СдинствСнного ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ дСйствия

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎΠ± индСксации Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…:

  • ΠžΠ±Π·ΠΎΡ€ индСксации
  • Как ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ индСксации

SEO ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Β· НачнитС Ρ€Π°Π±ΠΎΡ‚Ρƒ с Nuxt

Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ SEO своСго прилоТСния Nuxt с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ‹, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΠΊ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Nuxt прСдоставляСт Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ.

  • ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° : utf-8
  • ΠΎΠΊΠ½ΠΎ просмотра : ΡˆΠΈΡ€ΠΈΠ½Π° = ΡˆΠΈΡ€ΠΈΠ½Π° устройства, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1
909 82 nuxt.config.ts

 экспорт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ defineNuxtConfig({
  ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: {
    Π³ΠΎΠ»ΠΎΠ²Π°: {
      ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°: 'utf-8',
      ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра: 'ΡˆΠΈΡ€ΠΈΠ½Π° = ΡˆΠΈΡ€ΠΈΠ½Π° устройства, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1',
    }
  }
}) 

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ свойства app.head Π² вашСм nuxt.config.ts позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для всСго прилоТСния.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ позволяСт ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ useHead() Π² app. vue .

Для облСгчСния настройки доступны ярлыки: charset ΠΈ viewport . Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ любой ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, пСрСчислСнных Π½ΠΈΠΆΠ΅ Π² Π’ΠΈΠΏΡ‹.

ΠšΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΠ°Ρ функция useHead позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π΅Π³Π°ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ способом, ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚ Unhead.

Как ΠΈ всС составныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ , настройкой ΠΈ ΠΊΡ€ΡŽΡ‡ΠΊΠ°ΠΌΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°.

app.vue

 <настройка скрипта lang="ts">
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΠ³ΠΎΠ»ΠΎΠ²Ρƒ({
  Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: «МоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β»,
  ΠΌΠ΅Ρ‚Π°: [
    { name: 'description', content: 'Мой Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт.' }
  ],
  Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ‚Π΅Π»Π°: {
    класс: «тСст»
  },
  сцСнарий: [ { innerHTML: 'console.log(\'ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€\')' } ]
})
 

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΡ‹Π΅ useHead ΠΈ useHeadSafe .

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ useSeoMeta ΠΈ useServerSeoMeta ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ΠΈ SEO вашСго сайта Π² Π²ΠΈΠ΄Π΅ плоского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ TypeScript.

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ ΠΈ распространСнных ошибок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ использованиС имя вмСсто свойство .

app.vue

 <настройка скрипта lang="ts">
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒSeoMeta({
  title: 'Мой ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт',
  ogTitle: «Мой ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт»,
  description: 'Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ всС ΠΎ Π½Π΅ΠΌ.',
  ogDescription: 'Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ всС ΠΎ Π½Π΅ΠΌ.',
  ogImage: 'https://example.com/image.png',
  twitterCard: 'summary_large_image',
})
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ составных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… useSeoMeta ΠΈ useServerSeoMeta .

Nuxt прСдоставляСт </code>, <code data-v-ed140eb3=""><Base> </code>, <code data-v-ed140eb3=""> <NoScript> </code>, <code data-v-ed140eb3=""><Style></code>,<code data-v-ed140eb3=""><Meta></code>,<code data-v-ed140eb3=""><Link>9004 8,<code data-v-ed140eb3=""><Π’Π΅Π»ΠΎ></code>,<code data-v-ed140eb3=""><Html></code>ΠΈ <code data-v-ed140eb3=""><Head></code>,Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со своими ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² шаблонС вашСго ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. </p><p data-v-92b7b851="">ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌΠ΅Π½Π° этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ собствСнным элСмСнтам HTML,ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ,Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² шаблонС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ написаны с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. </p><p data-v-92b7b851=""><code data-v-ed140eb3=""><Head></code>ΠΈ <code data-v-ed140eb3=""><Body></code>ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ΠΈ (ΠΈΠ· эстСтичСских сообраТСний),Π½ΠΎ это Π½Π΅ влияСт Π½Π° <em data-v-6e2efbf6="">,Π³Π΄Π΅ </em>Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ HTML. </p>app.vue </p><pre><настройка сцСнария>const title=ref('ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€') </скрипт><шаблон><Π΄Π΅Π»><Π“ΠΎΠ»ΠΎΠ²Π°><Title>{{title}}<ΠœΠ΅Ρ‚Π°ΠΈΠΌΡ="описаниС" :content="Π½Π°Π·Π²Π°Π½ΠΈΠ΅"/>