11# start-index-single
2-
2+ movies . create_index ( "title" )
33# end-index-single
44
55# start-index-single-query
6+ query = { "title" : "Batman" }
7+ sort = [("title" , 1 )]
68
9+ cursor = movies .find (query ).sort (sort )
710# end-index-single-query
811
912# start-compound-index
10-
13+ movies . create_index ([( "type" , pymongo . ASCENDING ), ( "genre" , pymongo . ASCENDING )])
1114# end-compound-index
1215
1316# start-index-compound-query
17+ query = { "type" : "movie" , "genre" : "Drama" }
18+ sort = [("type" , pymongo .ASCENDING ), ("genre" , pymongo .ASCENDING )]
1419
20+ cursor = movies .find (query ).sort (sort )
1521# end-index-compound-query
1622
1723# start-index-multikey
18-
24+ result = movies . create_index ( "cast" )
1925# end-index-multikey
2026
2127# start-index-multikey-query
28+ query = { "cast" : "Viola Davis" }
2229
30+ cursor = movies .find (query )
2331# end-index-multikey-query
2432
2533# start-index-text-single
26-
34+ movies .create_index (
35+ [( "plot" , "text" )]
36+ )
2737# end-index-text-single
2838
2939# start-index-text-single-query
40+ query = { "$text" : { "$search" : "a time-traveling DeLorean" } }
3041
42+ cursor = movies .find (query )
3143# end-index-text-single-query
3244
3345# start-index-text-multi
34-
46+ result = myColl .create_index (
47+ [("title" , "text" ), ("genre" , "text" )],
48+ default_language = "english" ,
49+ weights = { "title" : 10 , "genre" : 3 }
50+ )
3551# end-index-text-multi
3652
37- # start-index-text-multi-query
38-
39- # end-index-text-multi-query
40-
4153# start-index-geo
42-
54+ theaters .create_index (
55+ [( "location.geo" , "2dsphere" )]
56+ )
4357# end-index-geo
4458
45- # start-index-geo-query
46-
47- # end-index-geo-query
48-
4959# start-index-wildcard
50-
60+ movies . create_index ({ "location.$**" : pymongo . ASCENDING })
5161# end-index-wildcard
5262
53- # start-index-clustered
63+ # start-index-unique
64+ theaters .create_index ("theaterId" , unique = True )
65+ # end-index-unique
5466
67+ # start-index-clustered
68+ sample_mflix .create_collection ("movies" , clusteredIndex = {
69+ "key" : { "_id" : 1 },
70+ "unique" : True
71+ })
5572# end-index-clustered
5673
5774# start-remove-index
58-
75+ movies . drop_index ( "_title_" )
5976# end-remove-index
6077
6178# start-create-search-index
62-
79+ index = {
80+ "definition" : {
81+ "mappings" : {
82+ "dynamic" : True
83+ }
84+ },
85+ "name" : "<index name>" ,
86+ }
87+
88+ collection .create_search_index (index )
6389# end-create-search-index
6490
6591# start-create-search-indexes
66-
92+ index_one = {
93+ "definition" : {
94+ "mappings" : {
95+ "dynamic" : True
96+ }
97+ },
98+ "name" : "my_index" ,
99+ }
100+
101+ index_two = {
102+ "definition" : {
103+ "mappings" : {
104+ "dynamic" : True
105+ }
106+ },
107+ "name" : "my_other_index" ,
108+ }
109+
110+ indexes = [index_one , index_two ]
111+
112+ collection .create_search_indexes (models = indexes )
67113# end-create-search-indexes
68114
69115# start-list-search-indexes
116+ results = list (collection .list_search_indexes ())
70117
118+ for index in results :
119+ print (index )
71120# end-list-search-indexes
72121
73122# start-update-search-indexes
74-
123+ new_index = {
124+ "definition" : {
125+ "mappings" : {
126+ "dynamic" : True
127+ }
128+ },
129+ "name" : "my_new_index" ,
130+ }
131+
132+ collection .update_search_index ("my_index" , new_index )
75133# end-update-search-indexes
76134
77135# start-delete-search-indexes
78-
136+ collection . drop_index ( "my_index" )
79137# end-delete-search-indexes
0 commit comments