Skip to content
6 / 10

Как устроСн поисковый Π΄Π²ΠΈΠΆΠΎΠΊ: ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс, Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹, Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ

ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ строит ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс: для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° хранится список Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π³Π΄Π΅ ΠΎΠ½ встрСчаСтся, с позициями ΠΈ частотами. ВСкст прСвращаСтся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ β€” Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ символов, разбиСния Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² (Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр, стоп-слова, стСмминг ΠΈΠ»ΠΈ лСмматизация, синонимы). ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ примСняСтся ΠΏΡ€ΠΈ индСксации ΠΈ ΠΏΡ€ΠΈ поискС, ΠΈΠ½Π°Ρ‡Π΅ запрос Π½Π΅ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π² индСксС. Π Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” BM25: Ρ‡Π΅ΠΌ Ρ€Π΅ΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‡Π°Ρ‰Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π²ΠΊΠ»Π°Π΄, с насыщСниСм ΠΏΠΎ частотС ΠΈ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π½Π° Π΄Π»ΠΈΠ½Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° поиска ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда сводится ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ: text для полнотСкстового поиска ΠΈ keyword для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΉ ΠΈ сортировки β€” ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²Π°ΠΆΠ΄Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Как устроСн поисковый Π΄Π²ΠΈΠΆΠΎΠΊ: ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс, Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹, Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ | JScriptiser