{"id":825,"date":"2022-01-13T02:59:52","date_gmt":"2022-01-13T02:59:52","guid":{"rendered":"https:\/\/scrutineer.co.kr\/wordpress\/?p=825"},"modified":"2022-01-13T04:11:11","modified_gmt":"2022-01-13T04:11:11","slug":"%eb%aa%bd%ea%b3%a0-%eb%94%94%eb%b9%84-%ec%9d%b8-%ec%95%a1%ec%85%98-9%ec%9e%a5","status":"publish","type":"post","link":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/2022\/01\/13\/%eb%aa%bd%ea%b3%a0-%eb%94%94%eb%b9%84-%ec%9d%b8-%ec%95%a1%ec%85%98-9%ec%9e%a5\/","title":{"rendered":"\ubabd\uace0 \ub514\ube44 \uc778 \uc561\uc158 9\uc7a5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"font-size:30px\">\ud14d\uc2a4\ud2b8 \uac80\uc0c9<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\uaddc \ud45c\ud604\uc2dd\uc73c\ub85c \ud328\ud134 \uc77c\uce58 \uac80\uc0c9\uc744 \ud574\ub3c4 \uac00\ub2a5\uc740 \ud558\uc9c0\ub9cc, \uc778\ub371\uc2a4 \uc5c6\uc774 \ub300\ud615 \uceec\ub809\uc158\uc5d0\uc11c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \ub9e4\uc6b0 \ub290\ub9ac\ub2e4.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">[<strong>\ub2e8\uc9c0 \ud328\ud134 \ub9e4\uce6d\ub9cc\uc740 \uc544\ub2c8\ub2e4.]<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\ud328\ud134 \uc77c\uce58<ul><li>\uc2a4\ud14c\ubc0d(stemming) :  stem, root \ub2e8\uc5b4, \ub2e8\uc5b4\uc758 \uc6d0\ud615\uacfc \ubcc0\ud615\ub4e4\uc744 \ub2e4 \ucc38\uace0\ud55c\ub2e4 (script \u2192 scripts, scripted, scripting)<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>\uc6f9 \ud398\uc774\uc9c0 \uac80\uc0c9<ul><li>\ud398\uc774\uc9c0\uc758 \ub300\ud615 \ub124\ud2b8\uc6cc\ud06c\ub97c \uac80\uc0c9\ud558\uace0, \ud398\uc774\uc9c0 \uac04 \uad00\ub828\ub3c4\uc5d0 \ub530\ub77c \uacb0\uacfc\uc758 \uc21c\uc704\ub97c \uc815\ud558\ub294 \uac80\uc0c9\ubc29\ubc95<\/li><li>\uc81c\ud488 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub4f1 DB \ub370\uc774\ud130 \uac80\uc0c9 \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud55c \uac83\uc740 \uc544\ub2d8<ul><li>\uc6f9 \ud398\uc774\uc9c0 \ub124\ud2b8\uc6cc\ud06c \uac80\uc0c9\uc5d0 \ucd08\uc810: DB\uc5d0\uc11c \uc0dd\uc131\ud55c \uc6f9 \ud398\uc774\uc9c0\uc5d0 \uc561\uc138\uc2a4\ud558\uace0, DB \uc790\uccb4\uc5d0\ub294 \uc561\uc138\uc2a4 X<\/li><li>\uc608) Java \ucc45\uc744 \uac80\uc0c9\ud55c\ub2e4\uace0 \ud560 \ub54c, \ucc45\ub9cc \uac80\uc0c9\ub418\uc9c0 \uc54a\uace0 \uc815\uc624\ud45c \ub4f1 \ub2e4\ub978 \uac80\uc0c9\uacb0\uacfc (noise)\ub3c4 \ud3ec\ud568\ub428<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>\uc804\uc6a9\ud14d\uc2a4\ud2b8 \uac80\uc0c9\uc5d4\uc9c4<ul><li>\ub9e4\uc6b0 \ud070 DB\ub3c4 \uc778\ub371\uc2f1 \uac00\ub2a5\ud568<\/li><li>\uc6f9 \uac80\uc0c9 \uc5d4\uc9c4\uc5d0\uc11c \uac00\ub2a5\ud55c \ub9de\ucda4\ubc95 \uad50\uc815, \uac80\uc0c9 \uc81c\uc548, \uad00\ub828\uc131 \uce21\uc815 \ub4f1\uc758 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud568<\/li><li>\ucd94\uac00 \uae30\ub2a5<ul><li>facets: \uac70\uc758 \ubaa8\ub4e0 \ud544\ub4dc\ub97c \uce74\ud14c\uace0\ub9ac\ud654, \ubc94\uc704 \uae30\ubc18 \uadf8\ub8f9\ub3c4 \uac00\ub2a5<\/li><li>\uc0ac\uc6a9\uc790 \uc815\uc758 \uae30\ub2a5: \ub3d9\uc758\uc5b4 \ub77c\uc774\ube0c\ub7ec\ub9ac, \ud615\ud0dc\uc18c \ubd84\uc11d(stemming) \uc54c\uace0\ub9ac\uc998, \ubd88\uc6a9\uc5b4 \uc0ac\uc804<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\">MongoDB\uc5d0\uc11c \uac00\ub2a5\ud55c \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uae30\ub2a5 (\uc9c0\uc6d0\ub418\ub294 \uc5b8\uc5b4 \uae30\uc900, \ud55c\uad6d\uc5b4 \ubd88\uac00)<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\ud615\ud0dc\uc18c \ubd84\uc11d \u2192 \uc2e4\uc2dc\uac04 \uc790\ub3d9 \uc778\ub371\uc2f1<\/li><li>\ud544\ub4dc\uc5d0 \uac00\uc911\uce58 \uc120\ud0dd\uc801 \uc9c0\uc815<\/li><li>\ubd88\uc6a9\uc5b4 \uc0ad\uc81c<\/li><li>\uc815\ud655\ud55c \ub2e8\uc5b4\/\uad6c\ubb38 \uc77c\uce58<\/li><li>\ud2b9\uc815 \ub2e8\uc5b4\/\uad6c\ubb38 \uc81c\uc678<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u2192 \ubaa8\ub4e0 \uae30\ub2a5\uc740 \uc778\ub371\uc2a4 \uc815\uc758\ub97c \ud1b5\ud574 \uc0ac\uc6a9 \uac00\ub2a5<br>\u2192 \uc804\uccb4 DB\ub97c \uac80\uc0c9\uc6a9 \uc5d4\uc9c4\uc5d0 \ubcf5\uc0ac\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc801\ub2f9\ud788 \ub2e8\uc5b4 \uac80\uc0c9\uc774 \uac00\ub2a5\ud568<br>\u2192 \uc804\uc6a9 \uac80\uc0c9 \uc5d4\uc9c4 \uad00\ub9ac \ubc0f \uc6b4\uc601 \ube44\uc6a9\uc744 \ud53c\ud560 \uc218 \uc788\uc74c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud14d\uc2a4\ud2b8 \uac80\uc0c9\uc5d0 \ud544\uc694\ud55c \uc778\ub371\uc2a4\ub97c \uc815\uc758\ud55c\ub2e4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9d1\uacc4 \ud504\ub808\uc784\uc6cc\ud06c(aggregate), \uae30\ubcf8 \ucffc\ub9ac \ub4f1\uc5d0\uc11c \ud14d\uc2a4\ud2b8 \uac80\uc0c9($text)\uc744 \uc0ac\uc6a9\ud55c\ub2e4<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>[\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc778\ub371\uc2a4 \uc815\uc758]<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">db.collection.createIndex(\n {\n   field_name: 'text', \/\/\ud14d\uc2a4\ud2b8 \uc778\ub371\uc2f1\ud560 \ud544\ub4dc\ub97c \uc9c0\uc815\n    ... \n   \/\/\ud639\uc740 \uc704\ub97c \uc0dd\ub7b5\ud558\uace0 '$**'\ub85c \ubb38\uc790\uc5f4\uc744 \ud3ec\ud568\ud558\ub294 \ubaa8\ub4e0 \uc778\ub371\uc2a4\ub97c \uc120\ud0dd\ud560 \uc218\ub3c4 \uc788\uc74c \n   '$**': 'text' \n }, \n { \n  weights: \/\/\ud544\ub4dc\uc758 \uac00\uc911\uce58\ub97c \uc9c0\uc815\n   {\n     field1_name: 10, field2_name: 5,\n      ... \/\/ \uae30\ubcf8 \uac00\uc911\uce58\ub294 1, field1\uc740 field2\ubcf4\ub2e4 2\ubc30 \ub354 \ub192\uc740 \uac00\uc911\uce58\ub97c \uac00\uc9c0\uac8c \ub41c\ub2e4\n    }\n },\n [name: 'idx_name'] );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\">\uc815\uaddc \uc778\ub371\uc2a4\uc640\uc758 \ucc28\uc774\uc810<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\uc778\ub371\uc2f1 \ud544\ub4dc\uc5d0 \ub300\ud574 1, -1\uc774 \uc544\ub2c8\ub77c &#8216;text&#8217;\ub97c \ub123\ub294\ub2e4<\/li><li>\uc778\ub371\uc2f1\ub418\ub294 \ubaa8\ub4e0 \ud544\ub4dc \uac12 \ud14d\uc2a4\ud2b8\uc5d0\uc11c, \uace0\uc720 \ub2e8\uc5b4\ub4e4\uc5d0 \ub300\ud574 \uc778\ub371\uc2a4 \ud56d\ubaa9\uc774 \ub9cc\ub4e4\uc5b4\uc9c4\ub2e4<\/li><li>\uceec\ub809\uc158\ub2f9 \ud558\ub098\uc758 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc778\ub371\uc2a4\ub97c \uac00\uc9c8 \uc218 \uc788\ub2e4<br>(\uadf8\ub7ec\ub098 \ud55c \uc778\ub371\uc2a4\uc5d0 \uc6d0\ud558\ub294 \ub9cc\ud07c \ud544\ub4dc\ub97c \ucd94\uac00\ud560 \uc218 \uc788\ub2e4)<\/li><li>\ud544\ub4dc \uac12 \ud14d\uc2a4\ud2b8\uc5d0\uc11c \ubd88\uc6a9\uc5b4\ub294 \ubb34\uc2dc\ub41c\ub2e4<\/li><\/ul>\n\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\">\ud14d\uc2a4\ud2b8 \uc778\ub371\uc2a4 \ud06c\uae30<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc778\ub371\uc2a4\ub294 \uceec\ub809\uc158 \uc790\uccb4\ubcf4\ub2e4 \ub354 \ud074 \uc218 \uc788\ub2e4<ul><li>\ubd88\uc6a9\uc5b4\uac00 \uc81c\uac70\ub418\ub354\ub77c\ub3c4, \uc778\ub371\uc2a4\uac00 \uc0dd\uc131\ub418\ub294 \ub300\ubd80\ubd84\uc758 \ud14d\uc2a4\ud2b8\ub97c \ubcf5\uc81c\ud560 \ubfd0 \uc544\ub2c8\ub77c<br>\uac01 \ub2e8\uc5b4\uc758 \uc6d0\ubcf8 \ub3c4\ud050\uba3c\ud2b8\uc5d0 \ub300\ud55c \ud3ec\uc778\ud130\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4<\/li><\/ul><\/li><li>\uc778\ub371\uc2a4 \uc774\ub984\uc758 \uae38\uc774\uac00 \ub108\ubb34 \uae38 \ub54c:<ul><li>MongoDB\uc5d0\uc11c \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uc758 \ucd5c\ub300 \uae38\uc774\ub294 120\ubc14\uc774\ud2b8 (V2.6~)<\/li><li>\ub124\uc784\uc2a4\ud398\uc774\uc2a4: db.collection.object\uc758 \uc774\ub984<\/li><li>name \uc18d\uc131\uc73c\ub85c \uc0ac\uc6a9\uc790 \uc815\uc758 \uc774\ub984\uc744 \uc8fc\uac70\ub098<\/li><li>&#8216;$**&#8217;\ub85c \uc640\uc77c\ub4dc\uce74\ub4dc \ud544\ub4dc \uc774\ub984\uc744 \uc9c0\uc815\ud55c\ub2e4<\/li><\/ul><\/li><\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>[\uae30\ubcf8 \ud14d\uc2a4\ud2b8 \uac80\uc0c9]<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">db.books.find({$text: {$search: 'actions'}}, {title: 1})\n\n\/\/word to search examples\n'word' ' word '\n'word1 or word2' \/\/or\ub294 \uc81c\uc678\ub418\uc5b4 \uac80\uc0c9\ub428 \n'\"exact word or phrases\" or other_word' \/\/ \"exact word~ \"\ub294 \ubc18\ub4dc\uc2dc \ud3ec\ud568, \ub4a4\ub294 or \ub9e4\uce6d \n'included or -\"not included\"' \/\/ -\ub97c \ubd99\uc774\uba74 \uc81c\uc678\ud558\uace0 \uac80\uc0c9\r<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><code>$text<\/code>\u00a0\ucffc\ub9ac\ub97c \ud14d\uc2a4\ud2b8 \uac80\uc0c9\uc73c\ub85c \uc815\uc758<\/li><li><code>$search<\/code>\u00a0\uac80\uc0c9\uc5d0 \uc0ac\uc6a9\ud560 \ubb38\uc790\uc5f4\uc744 \uc815\uc758<\/li><li>\uacb0\uacfc\ub294 \uc784\uc758\uc758 \uc21c\uc11c\ub85c \ubc18\ud658\ub428<\/li><li>\uc790\ub3d9\uc73c\ub85c Stemming\ud558\uc5ec \uc5b4\uac04\uc73c\ub85c \ubaa8\ub4e0 \ub3c4\ud050\uba3c\ud2b8\ub97c \ucc3e\uae30 \uc704\ud574 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud55c\ub2e4<\/li><li>&#8220;&#8221; \uc30d \ub530\uc634\ud45c\ub97c \ubd99\uc774\uba74 \uc815\ud655\ud55c \uc77c\uce58 \uc870\uac74, -\ub97c \ubd99\uc774\uba74 \uc81c\uc678 \uc870\uac74<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/\/wordstofind\ub97c \ud3ec\ud568\ud558\uba74\uc11c, other_field \ud544\ub4dc\uc5d0 valuetofind \uac12\uc744 \uac00\uc9c0\ub294 \ub3c4\ud050\uba3c\ud2b8\ub97c \uac80\uc0c9\r\ndb.collection.find({$text: {$search: 'wordstofind'}, other_field: 'valuetofind'});\r<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uae30\uc900 \uacb0\ud569\uc758 \ud55c\uacc4<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\ub2e4\uc911 \ud0a4 \ubcf5\ud569 \uc778\ub371\uc2a4, \uc9c0\ub9ac\uacf5\uac04 \ubcf5\ud569 \ud0a4 \uc778\ub371\uc2a4\ub294 \ud5c8\uc6a9X<\/li><li>$text\ub97c \ud3ec\ud568\ud55c \ucffc\ub9ac\ub294 hint()\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4<\/li><li>\uad00\ub828\ub3c4\uc5d0 \ub530\ub978 \uc815\ub82c \uc774\uc678\uc758 \ub2e4\ub978 \uc815\ub82c\uc740 \ubd88\uac00\ub2a5\ud568<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc2a4\ucf54\uc5b4]<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \uae30\ubcf8 find \ucffc\ub9ac\n**\/\ndb.collection.find({$text: {$search: 'words to find'}}\n, {_id:0, field1: 1, score_val: {$meta: \"textScore\"}}).\n limit(4); \n\/\/ sort \uac00\ub2a5\ud568\ndb.collection.find({$text: {$search: 'words to find'}},\n {_id:0, field1: 1, score_val: {$meta: \"textScore\"}}).\n sort({score_val: {$meta: \"textScore\"}}) \n\/\/find\uc640 sort\uc758 score_val\uc740 \ub3d9\uc77c\ud558\uac8c \uc918\uc57c \ud55c\ub2e4\r\n\r<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\uacb0\uacfc\uc5d0 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc2a4\ucf54\uc5b4\ub97c \ud3ec\ud568\ud558\uc5ec \uac80\uc0c9<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><code>score_val<\/code>\uc740 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud56d\ubaa9<ul><li>find\ucffc\ub9ac\uc5d0\uc11c\ub294 find\uc5d0\uc11c \uc900 score \uc774\ub984\uc744 sort\uc5d0\ub3c4 \ub3d9\uc77c\ud558\uac8c \uc918\uc57c \ud55c\ub2e4<\/li><\/ul><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \uc9d1\uacc4 \ud504\ub808\uc784\uc6cc\ud06c \uc0ac\uc6a9(aggregate)\n**\/\ndb.collection.aggregate(\n [ \n { $match: { $text: { $search: 'words to find' } } }, \/\/\uac80\uc0c9\n { $sort: { $score_val: { $meta: 'textScore' } } }, \/\/\uc815\ub82c\n { $project: { field1: 1, score_val: { $meta: 'textScore' } } } \/\/\ucd94\ucd9c\n ] ) \n\/\/sort, project \uc21c\uc11c\ub97c \ubc14\uafb8\uba74 \ub354 \ub2e8\uc21c\ud574\uc9c4\ub2e4\n db.collection.aggregate(\n [\n { $match: { $text: { $search: 'words to find' } } }, \/\/\uac80\uc0c9\n { $project: { field1: 1, score_val: { $meta: 'textScore' } } } \/\/\ucd94\ucd9c\n { $sort: { $score_val: -1 }, \/\/\ub0b4\ub9bc\ucc28\uc21c \uc815\ub82c, $project\uc758 score_name\ubd80\ubd84\uc744 \uc790\ub3d9 \ucc38\uc870\ud568\n ]\n )<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">aggregate\uc758 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc2dc \uc81c\ud55c \uc0ac\ud56d\uc774 \uc788\ub2e4<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>$text \uc0ac\uc6a9\ud560 \ub54c\ub294 $match\uac00 \ud30c\uc774\ud504\ub77c\uc778\uc758 \uccab \ubc88\uc9f8\uc5ec\uc57c \ud558\uace0,<br>$meta: &#8216;textScore&#8217;\uac00 \ub4f1\uc7a5\ud558\uae30 \uc804\uc5d0 \uc640\uc57c \ud55c\ub2e4<\/li><li>$text\ub294 \ud30c\uc774\ud504\ub77c\uc778\uc5d0\uc11c \ud55c \ubc88\ub9cc \uc0ac\uc6a9 \uac00\ub2a5<\/li><li>$text\uc5d0\uc11c\ub294 $or, $not\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4<ul><li>&#8221;\uac00 or\uc5f0\uc0b0, &#8220;&#8221;\uac00 \uc815\ud655\ud55c \uc77c\uce58(\ubc18\ub4dc\uc2dc \ud3ec\ud568), -&#8220;&#8221; ( -&#8221;)\ub294 not \uc5f0\uc0b0\uc774\ub2e4<\/li><\/ul><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \ud14d\uc2a4\ud2b8 \uc2b9\uc218 multiplier \ucd94\uac00\ud558\uae30\n* \ube44\uc2b7\ud55c \ud14d\uc2a4\ud2b8\ub97c \uac00\uc9c0\uace0 \uc788\ub294 \ub3c4\ud050\uba3c\ud2b8\ub77c\ub3c4, \ud3ec\ud568\ub41c field\uc5d0 \ucc28\uc774\uac00 \uc788\ub294 \uacbd\uc6b0 \ubb38\uc11c \uac04 \uad00\ub828\ub3c4\ub294 \ub0ae\uac8c \ucc45\uc815\ub41c\ub2e4\r\n* =>\ubcf4\uc815\ud558\uace0 \uc2f6\ub2e4\uba74, \ud14d\uc2a4\ud2b8 \uc2b9\uc218\ub85c \uad00\ub828\ub3c4 score \uac12\uc744 \ubcf4\uc815\ud560 \uc218 \uc788\ub2e4\n**\/\ndb.collection.aggregate(\n [\n   { $match: { $text: { $search: 'words to find' } } },\n   { $project: { \/\/1\ucc28 \ucd94\ucd9c\n          field1_name: 1,\n          score_val: { $meta: 'textScore' },\n          multiplier: { $cond: [ '$field_to_adjust', 1.0, 3.0 ] } } }, \n                            \/\/ field_name, true, false \n                            \/\/\uc774 \ud544\ub4dc\uac00 \uc788\uc73c\uba74 multiplier\uc758 \uac12\uc740 1.0, null\uc774\uac70\ub098 \uc5c6\uc73c\uba74 3.0\n   { $project: { \/\/field \uc720\ubb34\uc5d0 \ub530\ub978 \ubb38\uc11c\uac04 \uad00\ub828\ub3c4 \uc810\uc218 \ucc28\uc774 \ubcf4\uc815\n              _id:0, field1_name:1, score_val:1,\n              adjScore: $multiply: ['$score_val', '$multiplier'] } },\n    { $sort: { adjScore: -1 } } \/\/\uc870\uc815\ub41c \uc810\uc218\ub97c \uae30\uc900\uc73c\ub85c \ub0b4\ub9bc\ucc28\uc21c \uc815\ub82c\n ] \n)<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>[\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc5b8\uc5b4]<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\uc778\ub371\uc2a4\uc5d0\uc11c : \ud2b9\uc815 \uceec\ub809\uc158\uc5d0 \ub300\ud55c \uae30\ubcf8 \uc5b8\uc5b4 \uc9c0\uc815<\/li><li>\ub3c4\ud050\uba3c\ud2b8 \uc0bd\uc785 \uc2dc : \ud2b9\uc815 \ub3c4\ud050\uba3c\ud2b8 \ub610\ub294 \ud544\ub4dc\uac00 \uc778\ub371\uc2a4 \uc9c0\uc815 \uae30\ubcf8\uac12 \uc678 \ub2e4\ub978 \uc5b8\uc5b4\uc784\uc744 \uc54c\ub9ac\uae30 \uc704\ud574 override<\/li><li>find() \ub610\ub294 aggregate() \ud568\uc218\uc5d0\uc11c \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc218\ud589 \uc2dc : \uac80\uc0c9 \uc2dc \uc0ac\uc6a9\ud558\ub294 \uc5b8\uc5b4 \ub178\ud2f0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \uc778\ub371\uc2a4\uc5d0\uc11c \uc5b8\uc5b4 \uc9c0\uc815\n**\/\n> db.books.find({$text: {$search: 'in '}}).count()\r\n0\n\n\/\/ \uae30\uc874 \ud14d\uc2a4\ud2b8 \uc778\ub371\uc2a4 \uc0ad\uc81c\ndb.books.dropIndex('books_text_index');\r\ndb.books.createIndex(\r\n {'$**': 'text'},\r\n {weights:\r\n {title: 10,\r\n categories: 5},\r\n name : 'books_text_index',\r\n default_language: 'french' \/\/\ud504\ub791\uc2a4\uc5b4\ub85c \ud558\uc5ec \uc778\ub371\uc2a4 \ucd94\uac00\r\n }\r\n);\n\/\/ \ud504\ub791\uc2a4\uc5b4\uc5d0\uc11c in \uac80\uc0c9\n> db.books.find({$text: {$search: 'in '}}).count()\r\n334\n\/\/ \uc778\ub371\uc2a4 \ud655\uc778\n> db.books.getIndexes()\r\n[\r\n {\r\n \"v\" : 1,\r\n \"key\" : {\r\n \"_id\" : 1\r\n },\r\n \"name\" : \"_id_\",\r\n \"ns\" : \"catalog.books\"\r\n },\r\n {\r\n \"v\" : 1,\r\n \"key\" : {\r\n \"_fts\" : \"text\",\r\n \"_ftsx\" : 1\r\n },\r\n \"name\" : \"books_text_index\",\r\n \"ns\" : \"catalog.books\",\r\n \"weights\" : {\r\n \"$**\" : 1,\r\n \"categories\" : 5,\r\n \"title\" : 10\r\n },\r\n \"default_language\" : \"french\", \/\/ \ud504\ub791\uc2a4\uc5b4\uac00 \uae30\ubcf8 \ud14d\uc2a4\ud2b8 \uc778\ub371\uc2a4 \uc5b8\uc5b4\ub85c \uc9c0\uc815\r\n \"language_override\" : \"language\",\r\n \"textIndexVersion\" : 2\r\n }\r\n] <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \ub3c4\ud050\uba3c\ud2b8\uc5d0\uc11c \uc5b8\uc5b4 \uc9c0\uc815\n**\/\n\/\/ \uae30\uc874 \ud14d\uc2a4\ud2b8 \uc778\ub371\uc2a4 \uc0ad\uc81c\ndb.books.dropIndex('books_text_index');\r\ndb.books.createIndex(\r\n {'$**': 'text'},\r\n {weights:\r\n {title: 10,\r\n categories: 5},\r\n name : 'books_text_index',\r\n default_language: 'english' \/\/ \uc601\uc5b4 \uae30\ubcf8\uc5b8\uc5b4 \uc9c0\uc815\r\n }\r\n);\n\/\/ \ud504\ub791\uc2a4\uc5b4\ub85c \uc5b8\uc5b4\ub97c \uc9c0\uc815\ud558\ub294 \uc0c8\ub85c\uc6b4 \ub3c4\ud050\uba3c\ud2b8 \uc0bd\uc785\ndb.books.insert({\r\n _id: 999,\r\n title: 'Le Petite Prince',\r\n pageCount: 85,\r\n publishedDate: ISODate('1943-01-01T01:00:00Z'),\r\n shortDescription: \"Le Petit Prince est une \u0153uvre de langue fran\u00e7aise,\r\nla plus connue d'Antoine de Saint-Exup\u00e9ry. Publi\u00e9 en 1943 \u00e0 New York\r\nsimultan\u00e9ment en anglais et en fran\u00e7ais. C'est un conte po\u00e9tique et\r\nphilosophique sous l'apparence d'un conte pour enfants.\",\r\n status: 'PUBLISH',\r\n authors: ['Antoine de Saint-Exup\u00e9ry'],\r\n language: 'french'  \/\/ \uc5b8\uc5b4\ub97c \ud504\ub791\uc2a4\uc5b4\ub85c \uc9c0\uc815\r\n})<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/**\n* \uac80\uc0c9\uc5d0\uc11c \uc5b8\uc5b4 \uc9c0\uc815\n**\/\n\/\/ \uc5b8\uc5b4\uac00 \ud615\ud0dc\uc18c \ubd84\uc11d\uc5d0 \ubbf8\uce58\ub294 \uc601\ud5a5\uc758 \uc608\n> db.books.find({$text: {$search:\r\n'simultanment',$language:'french'}},{title:1})\r\n{ \"_id\" : 999, \"title\" : \"Le Petit Prince\" }\r\n> db.books.find({$text: {$search: 'simultanment'}},{title:1})\r\n{ \"_id\" : 186, \"title\" : \"Hadoop in Action\" }\r\n{ \"_id\" : 293, \"title\" : \"Making Sense of Java\" }\r\n{ \"_id\" : 999, \"title\" : \"Le Petite Prince\" }\r\n> db.books.find({$text: {$search: 'prince'}},{title:1})\r\n{ \"_id\" : 145, \"title\" : \"Azure in Action\" }\r\n{ \"_id\" : 999, \"title\" : \"Le Petit Prince\" }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\uc5b8\uc5b4\uac00&nbsp;<code>none<\/code>\uc73c\ub85c, \uc9c0\uc815\ub41c \uac83\uc774 \uc5c6\ub2e4\uba74<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\uc624\uc9c1 \uc815\ud655\ud55c \ub2e8\uc5b4\ub9cc\uc774 \ud615\ud0dc\uc18c \ubd84\uc11d \uc5c6\uc774 \uc778\ub371\uc2f1\ub428<\/li><li>\ubd88\uc6a9\uc5b4 \uc81c\uc678\ub418\uc9c0 \uc54a\uc74c: \uc720\uc0ac\ud55c \ub2e8\uc5b4 \uac80\uc0c9 \ubd88\uac00\ub2a5<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc815\uaddc \ud45c\ud604\uc2dd\uc73c\ub85c \ud328\ud134 \uc77c\uce58 \uac80\uc0c9\uc744 \ud574\ub3c4 \uac00\ub2a5\uc740 \ud558\uc9c0\ub9cc, \uc778\ub371\uc2a4 \uc5c6\uc774 \ub300\ud615 \uceec\ub809\uc158\uc5d0\uc11c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \ub9e4\uc6b0 \ub290\ub9ac\ub2e4. [\ub2e8\uc9c0 \ud328\ud134 \ub9e4\uce6d\ub9cc\uc740 \uc544\ub2c8\ub2e4.] \ud328\ud134 \uc77c\uce58 \uc2a4\ud14c\ubc0d(stemming) : stem, root \ub2e8\uc5b4, \ub2e8\uc5b4\uc758 \uc6d0\ud615\uacfc \ubcc0\ud615\ub4e4\uc744 \ub2e4 \ucc38\uace0\ud55c\ub2e4 (script \u2192 scripts, scripted, scripting) \uc6f9 \ud398\uc774\uc9c0 \uac80\uc0c9 \ud398\uc774\uc9c0\uc758 \ub300\ud615 \ub124\ud2b8\uc6cc\ud06c\ub97c \uac80\uc0c9\ud558\uace0, \ud398\uc774\uc9c0 \uac04 \uad00\ub828\ub3c4\uc5d0 \ub530\ub77c \uacb0\uacfc\uc758 \uc21c\uc704\ub97c \uc815\ud558\ub294 \uac80\uc0c9\ubc29\ubc95 \uc81c\ud488 \ub370\uc774\ud130\ubca0\uc774\uc2a4 &#8230; <a title=\"\ubabd\uace0 \ub514\ube44 \uc778 \uc561\uc158 9\uc7a5\" class=\"read-more\" href=\"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/2022\/01\/13\/%eb%aa%bd%ea%b3%a0-%eb%94%94%eb%b9%84-%ec%9d%b8-%ec%95%a1%ec%85%98-9%ec%9e%a5\/\" aria-label=\"Read more about \ubabd\uace0 \ub514\ube44 \uc778 \uc561\uc158 9\uc7a5\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-825","post","type-post","status-publish","format-standard","hentry","category-4"],"_links":{"self":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=825"}],"version-history":[{"count":6,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/825\/revisions"}],"predecessor-version":[{"id":835,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/825\/revisions\/835"}],"wp:attachment":[{"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scrutineer.co.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}