定義
autocomplete
autocomplete
演算子は、不完全な入力 string からの文字シーケンスを含む単語またはフレーズを検索します。autocomplete
演算子を使用してクエリするフィールドは、コレクションのインデックス定義の オートコンプリートデータ 型でインデックス化する必要があります。 オートコンプリート用にインデックスを構成する方法については、「 オートコンプリート用にフィールドをインデックスする方法 」を参照してください。
注意
Atlas Searchでは、 1 つのstringに 3 単語を超えるクエリに対して不正確な結果が返されることがあります。
ユースケース例
入力しながら検索するアプリケーションで autocomplete
演算子を使用すると、アプリケーションの検索フィールドに文字が入力されるにつれて、単語を予測する精度が向上します。autocomplete
は、オートコンプリート用のインデックス定義で指定されたトークン化戦略に基づいて、予測された単語を含む結果を返します。
Atlas Search autocomplete
演算子を使用して推奨候補やドロップダウンを作成する場合は、推奨される検索タームのコレクションをクエリするか、過去の検索タームを使用してドロップダウンに入力することをお勧めします。 推奨される検索タームのコレクションを別途作成すると、 Atlas Search インデックスで同義語マッピングを定義して、コレクション内で正確な単語または代替単語を検索できます。 検索タームを追跡し、検索タームのメトリクスを表示してコレクションを構築できます。
構文
autocomplete
の構文は次のとおりです。
1 { 2 $search: { 3 "index": "<index name>", // optional, defaults to "default" 4 "autocomplete": { 5 "query": "<search-string>", 6 "path": "<field-to-search>", 7 "tokenOrder": "any|sequential", 8 "fuzzy": <options>, 9 "score": <options> 10 } 11 } 12 }
オプション
フィールド | タイプ | 説明 | 必要性 | default | ||||
---|---|---|---|---|---|---|---|---|
| 文字列または複数の文字列の配列 | 検索する文字列または複数の文字列。文字列に複数のタームがある場合、Atlas Search は文字列内の各タームの一致も個別に検索します。 | はい | |||||
| string | 検索するインデックス付きフィールド。 このフィールドは、
複数のフィールドにわたる | はい | |||||
| オブジェクト | ファジー検索を有効にします。検索タームやタームに類似した文字列を検索します。 | no | |||||
fuzzy .maxEdits | integer | 指定した検索タームに一致するために必要となる 1 文字の編集の最大数。値は | no |
| ||||
fuzzy .prefixLength | integer | 結果内の各タームの先頭にあり、完全に一致する必要がある文字数。 | no |
| ||||
fuzzy .maxExpansions | integer | 生成および検索するバリエーションの最大数。この制限はトークンごとに適用されます。 | no |
| ||||
| オブジェクト | 一致する検索タームの結果に割り当てるスコア。デフォルトのスコアを変更するには、次のいずれかのオプションを使用します。
クエリで | no | |||||
| string | トークンを検索する順序。値は次のいずれかになります。
| no |
|
スコアリングの動作
完全一致の autocomplete
演算子クエリ結果には、完全一致でない結果よりも低いスコアが与えられます。オートコンプリート インデックスの付いたトークンの部分文字列のみを指定した場合、Atlas Search はクエリ文字列 がインデックス付きテキストと完全に一致するかどうかを判断できません。完全一致のスコアを高くするには、以下の回避策を試します。
注意
次の回避策は、すべてのケースで完全一致のスコアが高くなることを保証するものではありません。
フィールドをオートコンプリート タイプと 文字列 タイプの両方としてインデックスします。
Atlas Search
autocomplete
は、autocomplete
フィールドもstring
としてインデックス付けられている場合に完全一致を優先し、スコアを増加させます。複合演算子を使用してクエリを実行します。
この回避策を示すには、「 複数のフィールドにわたる検索 」を参照してください。
例
次の例では、sample_mflix
データベースの movies
コレクションを使用します。クラスターにサンプル データセットをロードすると、オートコンプリート用の静的インデックスを作成し、クラスターで例のクエリを実行できます。
インデックスの定義
edgeGram
次のタブには、 、rightEdgeGram
、nGram
トークン化戦略 のサンプルインデックス定義が含まれています。オートコンプリート タイプに加えて、サンプルのインデックス定義には、 フィールドの string タイプとトークン title
タイプが含まれます。
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "title": [ 6 { 7 "type": "token" 8 }, 9 { 10 "type": "string" 11 }, 12 { 13 "foldDiacritics": false, 14 "maxGrams": 7, 15 "minGrams": 3, 16 "tokenization": "edgeGram", 17 "type": "autocomplete" 18 } 19 ], 20 "plot": [ 21 { 22 "type": "autocomplete", 23 "tokenization": "edgeGram", 24 "minGrams": 2, 25 "maxGrams": 15, 26 "foldDiacritics": true 27 } 28 ] 29 } 30 } 31 }
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "title": [ 6 { 7 "type": "token" 8 }, 9 { 10 "type": "string" 11 }, 12 { 13 "foldDiacritics": false, 14 "maxGrams": 7, 15 "minGrams": 3, 16 "tokenization": "rightEdgeGram", 17 "type": "autocomplete" 18 } 19 ], 20 "plot": [ 21 { 22 "type": "autocomplete", 23 "tokenization": "rightEdgeGram", 24 "minGrams": 2, 25 "maxGrams": 15, 26 "foldDiacritics": true 27 } 28 ] 29 } 30 } 31 }
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "title": [ 6 { 7 "type": "token" 8 }, 9 { 10 "type": "string" 11 }, 12 { 13 "foldDiacritics": false, 14 "maxGrams": 7, 15 "minGrams": 3, 16 "tokenization": "nGram", 17 "type": "autocomplete" 18 } 19 ], 20 "plot": [ 21 { 22 "type": "autocomplete", 23 "tokenization": "nGram", 24 "minGrams": 2, 25 "maxGrams": 15, 26 "foldDiacritics": true 27 } 28 ] 29 } 30 } 31 }
➤ [言語の選択] ドロップダウン メニューを使用して、このページの例の言語を設定します。
Search Testerのクエリ構文を表示および編集するには、以下の手順を行ってください。
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
警告
ナビゲーションの改善が進行中
現在、新しく改善されたナビゲーション エクスペリエンスを展開しています。次の手順が Atlas UIのビューと一致しない場合は、プレビュー ドキュメントを参照してください。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
MongoDB Compass で次のクエリを実行する方法については、「クエリを定義する」を参照してください。
MongoDB C# ドライバーを使用して次のクエリを実行する方法については、「クエリの定義」を参照してください。
MongoDB Go ドライバーを使用して次のクエリを実行する方法については「クエリの定義」を参照してください。
MongoDB Java ドライバーを使用して次の MongoDB クエリを実行する方法については、「クエリの定義」を参照してください。
MongoDB Kotlin ドライバーを使用して次のクエリを実行する方法については、「クエリの定義」を参照してください。
MongoDB Node ドライバーを使用して次のクエリを実行する方法については、「クエリの定義」を参照してください。
PyMongo ドライバーを使用して次のクエリを実行する方法については、「クエリの定義」を参照してください。
基本的な例
次のクエリは、title
フィールドに off
の文字が含まれる映画を検索します。
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "off" } } } ]
クエリには以下が含まれます。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | ||||||
---|---|---|---|---|---|---|---|
|
| ||||||
|
| ||||||
|
|
クエリには以下が含まれます。
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteBasicExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "off")) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id)) .Limit(10) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } }
クエリには以下が含まれます。
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.D{{Key: "query", Value: "off"}, {Key: "path", Value: "title"}}}}}} limitStage := bson.D{{Key: "$limit", Value: 10}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "_id", Value: 0}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
クエリには以下が含まれます。
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteBasicExample { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("query", "off").append("path", "title"))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(10), project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); } } }
クエリには以下が含まれます。
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "off", path: "title"}}}, {$limit: 10}, {$project: {_id: 0,title: 1}} ]; // run pipeline const result = await coll.aggregate(agg); // print results await result.forEach((doc) => console.log(doc)); } finally { await client.close(); } } run().catch(console.dir);
クエリには以下が含まれます。
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document("autocomplete", Document("query", "off") .append("path", "title")) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(10), project(fields(excludeId(), include("title"))) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
クエリには以下が含まれます。
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search": {"autocomplete": {"query": "off", "path": "title"}}}, {"$limit": 10}, {"$project": {"_id": 0, "title": 1}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 9.361787796020508 _id: "573a13b0f29313caabd355c8" countries: Array genres: Array runtime: 100 ... title: "Off Beat" SCORE: 9.068204879760742 _id: "573a13aaf29313caabd22a8c" fullplot: "An 11-year-old girl watches her father come down with a crippling depr…" imdb: Object year: 2003 ... title: "Off the Map" SCORE: 9.068204879760742 _id: "573a13bef29313caabd5d208" plot: "With white Jewish lesbians for parents and two adopted brothers - one …" genres: Array runtime: 76 ... title: "Off and Running" SCORE: 8.742463111877441 _id: "573a13bbf29313caabd5567" countries: Array genres: Array runtime: 98 ... title: "Hands off Mississippi" SCORE: 8.61273193359375 _id: "5573a1396f29313caabce4791" plot: "Unable to deal with her parents, Jeannie Tyne runs away from home. Lar…" genres: Array runtime: 93 ... title: "Taking Off" SCORE: 8.61273193359375 _id: "573a1399f29313caabced3c1" plot: "A travelling theater group find so much action going on behind-the-sce…" genres: Array runtime: 101 ... title: "Noises Off..." SCORE: 8.61273193359375 _id: "573a139af29313caabcefc73" fullplot: "In existence for a hundred years, Grimley Colliery Brass band is as ol…" imdb: Object year: 1996 ... title: "Brassed Off" SCORE: 8.61273193359375 _id: "573a139af29313caabcf08f5" fullplot: "Sean Archer, a very tough, rugged FBI Agent. Who is still grieving for…" imdb: Object year: 1997 ... title: "Face/Off" SCORE: 8.603004455566406 _id: "573a13a9f29313caabd1ea36" fullplot: "Three unlikely, unsuspecting souls who come face-to-face with that mom…" imdb: Object year: 2004 ... title: "Benji: Off the Leash!" SCORE: 7.953945159912109 _id: "573a139af29313caabcf037c" plot: "Desperation drives four inner-city women (Queen Latifah, Jada Pinkett …" genres: Array runtime: 123 ... title: "Set it Off"
SCORE: 9.81808090209961 _id: "5573a1396f29313caabce4791" plot: "Unable to deal with her parents, Jeannie Tyne runs away from home. Lar…" genres: Array runtime: 93 ... title: "Taking Off" SCORE: 9.81808090209961 _id: "573a1399f29313caabced3c1" plot: "A travelling theater group find so much action going on behind-the-sce…" genres: Array runtime: 101 ... title: "Noises Off..." SCORE: 9.81808090209961 _id: "573a139af29313caabcefc73" fullplot: "In existence for a hundred years, Grimley Colliery Brass band is as ol…" imdb: Object year: 1996 ... title: "Brassed Off" SCORE: 9.81808090209961 _id: "573a139af29313caabcf08f5" fullplot: "Sean Archer, a very tough, rugged FBI Agent. Who is still grieving for…" imdb: Object year: 1997 ... title: "Face/Off" SCORE: 9.544584274291992 _id: "573a139af29313caabcf037c" plot: "Desperation drives four inner-city women (Queen Latifah, Jada Pinkett …" genres: Array runtime: 123 ... title: "Set it Off" SCORE: 9.191947937011719 _id: "573a13bbf29313caabd5567" countries: Array genres: Array runtime: 98 ... title: "Hands off Mississippi" SCORE: 9.074413299560547 _id: "573a1398f29313caabce9f28" plot: "A high school wise guy is determined to have a day off from school, de…" genres: Array runtime: 103 ... title: "Ferris Bueller's Day Off" SCORE: 9.007184982299805 _id: "573a13b0f29313caabd355c8" countries: Array genres: Array runtime: 100 ... title: "Off Beat" SCORE: 8.700296401977539 _id: "573a13a9f29313caabd1ea36" fullplot: "Three unlikely, unsuspecting souls who come face-to-face with that mom…" imdb: Object year: 2004 ... title: "Benji: Off the Leash!" SCORE: 8.33833122253418 _id: "573a13aaf29313caabd22a8c" fullplot: "An 11-year-old girl watches her father come down with a crippling depr…" imdb: Object year: 2003 ... title: "Off the Map"
SCORE: 5.802560806274414 _id: “573a1396f29313caabce47f4” countries: Array genres: Array runtime: 98 ... title: "Come Have Coffee with Us" SCORE: 5.790548801422119 _id: "573a13d1f29313caabd90811" plot: "From pagan re-enactors to failed communes, black metal festivals to Ar…" genres: Array runtime: 98 ... title: "A Spell to Ward Off the Darkness" SCORE: 5.7726240158081055 _id: "573a13f3f29313caabddeb07" plot: "Turkey in the 1960s and 70s was one of the biggest producers of film i…" genres: Array runtime: 96 ... title: "Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema" SCORE: 5.749281883239746 _id: "573a13a9f29313caabd1ea36" fullplot: "Three unlikely, unsuspecting souls who come face-to-face with that mom…" imdb: Object year: 2004 ... title: "Benji: Off the Leash!" SCORE: 5.749281883239746 _id: "573a13d4f29313caabd98488" fullplot: "This tragicomedy is a self-ironic portrait of a young man who drops ou…" imdb: Object year: 2012 ... title: "A Coffee in Berlin" SCORE: 5.74220085144043 _id: “573a1397f29313caabce863f” fullplot: "Zack Mayo is a young man who has signed up for Navy Aviation Officer C…" imdb: Object year: 1982 ... title: "An Officer and a Gentleman" SCORE: 5.671174049377441 _id: “573a1398f29313caabce987c” plot: "After the end of the Dirty War, a high school teacher sets out to find…" genres: Array runtime: 112 ... title: "The Official Story" SCORE: 5.671174049377441 _id: “573a13a5f29313caabd14c36” plot: "The first days of WWI. Adrien, a young and handsome lieutenant, is wou…" genres: Array runtime: 135 ... title: "The Officer's Ward" SCORE: 5.671174049377441 _id: "573a13bbf29313caabd5567" countries: Array genres: Array runtime: 98 ... title: "Hands off Mississippi" SCORE: 5.534632682800293 _id: "573a1395f29313caabce18c9" plot: "In this "Romeo and Juliet" inspired Cold War satire starring, written …" genres: Array runtime: 103 ... title: "Romanoff and Juliet"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { title: 'Off Beat' }, 2 { title: 'Off the Map' }, 3 { title: 'Off and Running' }, 4 { title: 'Hands off Mississippi' }, 5 { title: 'Taking Off' }, 6 { title: 'Noises Off...' }, 7 { title: 'Brassed Off' }, 8 { title: 'Face/Off' }, 9 { title: 'Benji: Off the Leash!' }, 10 { title: 'Set It Off' }
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 { title: 'Taking Off' } 2 { title: 'Noises Off...' } 3 { title: 'Brassed Off' } 4 { title: 'Face/Off' } 5 { title: 'Set It Off' } 6 { title: 'Hands off Mississippi' } 7 { title: "Ferris Bueller's Day Off" } 8 { title: 'Off Beat' } 9 { title: 'Benji: Off the Leash!' } 10 { title: 'Off the Map' }
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 { title: 'Come Have Coffee with Us' }, 2 { title: 'A Spell to Ward Off the Darkness' }, 3 { title: 'Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema' }, 4 { title: 'Benji: Off the Leash!' }, 5 { title: 'A Coffee in Berlin' }, 6 { title: 'An Officer and a Gentleman' }, 7 { title: 'The Official Story' }, 8 { title: "The Officer's Ward" }, 9 { title: 'Hands off Mississippi' }, 10 { title: 'Romanoff and Juliet' }
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 { title: 'Off Beat' }, 2 { title: 'Off the Map' }, 3 { title: 'Off and Running' }, 4 { title: 'Hands off Mississippi' }, 5 { title: 'Taking Off' }, 6 { title: 'Noises Off...' }, 7 { title: 'Brassed Off' }, 8 { title: 'Face/Off' }, 9 { title: 'Benji: Off the Leash!' }, 10 { title: 'Set It Off' }
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 { title: 'Taking Off' } 2 { title: 'Noises Off...' } 3 { title: 'Brassed Off' } 4 { title: 'Face/Off' } 5 { title: 'Set It Off' } 6 { title: 'Hands off Mississippi' } 7 { title: "Ferris Bueller's Day Off" } 8 { title: 'Off Beat' } 9 { title: 'Benji: Off the Leash!' } 10 { title: 'Off the Map' }
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 { title: 'Come Have Coffee with Us' }, 2 { title: 'A Spell to Ward Off the Darkness' }, 3 { title: 'Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema' }, 4 { title: 'Benji: Off the Leash!' }, 5 { title: 'A Coffee in Berlin' }, 6 { title: 'An Officer and a Gentleman' }, 7 { title: 'The Official Story' }, 8 { title: "The Officer's Ward" }, 9 { title: 'Hands off Mississippi' }, 10 { title: 'Romanoff and Juliet' }
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 { "title": "Off Beat" } 2 { "title": "Off the Map" } 3 { "title": "Off and Running" } 4 { "title": "Hands off Mississippi" } 5 { "title": "Taking Off" } 6 { "title": "Noises Off..." } 7 { "title": "Brassed Off" } 8 { "title": "Face/Off" } 9 { "title": "Benji: Off the Leash!" } 10 { "title": "Set It Off" }
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 { "title" : "Taking Off" } 2 { "title" : "Noises Off..." } 3 { "title" : "Brassed Off" } 4 { "title" : "Face/Off" } 5 { "title" : "Set It Off" } 6 { "title" : "Hands off Mississippi" } 7 { "title" : "Ferris Bueller's Day Off" } 8 { "title" : "Off Beat" } 9 { "title" : "Benji: Off the Leash!" } 10 { "title" : "Off the Map" }
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 { "title" : "Come Have Coffee with Us" } 2 { "title" : "A Spell to Ward Off the Darkness" } 3 { "title" : "Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema" } 4 { "title" : "Benji: Off the Leash!" } 5 { "title" : "A Coffee in Berlin" } 6 { "title" : "An Officer and a Gentleman" } 7 { "title" : "The Official Story" } 8 { "title" : "The Officer's Ward" } 9 { "title" : "Hands off Mississippi" } 10 { "title" : "Romanoff and Juliet" }
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 [{title Off Beat}] 2 [{title Off the Map}] 3 [{title Off and Running}] 4 [{title Hands off Mississippi}] 5 [{title Taking Off}] 6 [{title Noises Off...}] 7 [{title Brassed Off}] 8 [{title Face/Off}] 9 [{title Benji: Off the Leash!}] 10 [{title Set It Off}]
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 [{title Taking Off}] 2 [{title Noises Off...}] 3 [{title Brassed Off}] 4 [{title Face/Off}] 5 [{title Set It Off}] 6 [{title Hands off Mississippi}] 7 [{title Ferris Bueller's Day Off}] 8 [{title Off Beat}] 9 [{title Benji: Off the Leash!}] 10 [{title Off the Map}]
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 [{title Come Have Coffee with Us}] 2 [{title A Spell to Ward Off the Darkness}] 3 [{title Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema}] 4 [{title Benji: Off the Leash!}] 5 [{title A Coffee in Berlin}] 6 [{title An Officer and a Gentleman}] 7 [{title The Official Story}] 8 [{title The Officer's Ward}] 9 [{title Hands off Mississippi}] 10 [{title Romanoff and Juliet}]
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 {"title": "Off Beat"} 2 {"title": "Off the Map"} 3 {"title": "Off and Running"} 4 {"title": "Hands off Mississippi"} 5 {"title": "Taking Off"} 6 {"title": "Noises Off..."} 7 {"title": "Brassed Off"} 8 {"title": "Face/Off"} 9 {"title": "Benji: Off the Leash!"} 10 {"title": "Set It Off"}
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 {"title": "Taking Off"} 2 {"title": "Noises Off..."} 3 {"title": "Brassed Off"} 4 {"title": "Face/Off"} 5 {"title": "Set It Off"} 6 {"title": "Hands off Mississippi"} 7 {"title": "Ferris Bueller's Day Off"} 8 {"title": "Off Beat"} 9 {"title": "Benji: Off the Leash!"} 10 {"title": "Off the Map"}
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 {"title": "Come Have Coffee with Us"} 2 {"title": "A Spell to Ward Off the Darkness"} 3 {"title": "Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema"} 4 {"title": "Benji: Off the Leash!"} 5 {"title": "A Coffee in Berlin"} 6 {"title": "An Officer and a Gentleman"} 7 {"title": "The Official Story"} 8 {"title": "The Officer's Ward"} 9 {"title": "Hands off Mississippi"} 10 {"title": "Romanoff and Juliet"}
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 Document{{title=Off Beat}} 2 Document{{title=Off the Map}} 3 Document{{title=Off and Running}} 4 Document{{title=Hands off Mississippi}} 5 Document{{title=Taking Off}} 6 Document{{title=Face/Off}} 7 Document{{title=Noises Off...}} 8 Document{{title=Brassed Off}} 9 Document{{title=Benji: Off the Leash!}} 10 Document{{title=Set It Off}}
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 Document{{title=Noises Off...}} 2 Document{{title=Taking Off}} 3 Document{{title=Brassed Off}} 4 Document{{title=Face/Off}} 5 Document{{title=Set It Off}} 6 Document{{title=Hands off Mississippi}} 7 Document{{title=Ferris Bueller's Day Off}} 8 Document{{title=Off Beat}} 9 Document{{title=Benji: Off the Leash!}} 10 Document{{title=Off and Running}}
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 Document{{title=Taking Off}} 2 Document{{title=Noises Off...}} 3 Document{{title=Brassed Off}} 4 Document{{title=Face/Off}} 5 Document{{title=Off Beat}} 6 Document{{title=Hands off Mississippi}} 7 Document{{title=Off the Map}} 8 Document{{title=Set It Off}} 9 Document{{title=Off and Running}} 10 Document{{title=Benji: Off the Leash!}}
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
1 { title: 'Off Beat' } 2 { title: 'Off the Map' } 3 { title: 'Off and Running' } 4 { title: 'Hands off Mississippi' } 5 { title: 'Taking Off' } 6 { title: 'Noises Off...' } 7 { title: 'Brassed Off' } 8 { title: 'Face/Off' } 9 { title: 'Benji: Off the Leash!' } 10 { title: 'Set It Off' }
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 { title: 'Taking Off' } 2 { title: 'Noises Off...' } 3 { title: 'Brassed Off' } 4 { title: 'Face/Off' } 5 { title: 'Set It Off' } 6 { title: 'Hands off Mississippi' } 7 { title: "Ferris Bueller's Day Off" } 8 { title: 'Off Beat' } 9 { title: 'Benji: Off the Leash!' } 10 { title: 'Off the Map' }
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 {'title': 'Off Beat'} 2 {'title': 'Off the Map'} 3 {'title': 'Off and Running'} 4 {'title': 'Hands off Mississippi'} 5 {'title': 'Taking Off'} 6 {'title': 'Noises Off...'} 7 {'title': 'Brassed Off'} 8 {'title': 'Face/Off'} 9 {'title': 'Benji: Off the Leash!'} 10 {'title': 'Set It Off'}
上記の結果では、すべてのタイトルの単語の左側に文字off
が表示されます。
1 {'title': 'Taking Off'} 2 {'title': 'Noises Off...'} 3 {'title': 'Brassed Off'} 4 {'title': 'Face/Off'} 5 {'title': 'Set It Off'} 6 {'title': 'Hands off Mississippi'} 7 {'title': "Ferris Bueller's Day Off"} 8 {'title': 'Off Beat'} 9 {'title': 'Benji: Off the Leash!'} 10 {'title': 'Off the Map'}
上記の結果では、すべてのタイトルの単語の右側に文字off
が表示されます。
1 {'title': 'Come Have Coffee with Us'} 2 {'title': 'A Spell to Ward Off the Darkness'} 3 {'title': 'Remake, Remix, Rip-Off: About Copy Culture & Turkish Pop Cinema'} 4 {'title': 'Benji: Off the Leash!'} 5 {'title': 'A Coffee in Berlin'} 6 {'title': 'An Officer and a Gentleman'} 7 {'title': 'The Official Story'} 8 {'title': "The Officer's Ward"} 9 {'title': 'Hands off Mississippi'} 10 {'title': 'Romanoff and Juliet'}
上記の結果では、文字off
がタイトル内の異なる位置に表示されます。
あいまいな例
基本的な例
次のクエリは、title
フィールドに pre
の文字が含まれる映画を検索します。クエリでは以下を使用します。
フィールド | 説明 |
| クエリをドキュメント内の単語に一致させるには、クエリ文字列の |
| クエリをドキュメント内の単語と照合しても、クエリ文字列の |
| クエリ文字列をドキュメント内の単語と照合する場合に、 |
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "pre", fuzzy: { maxEdits: 1, prefixLength: 1, maxExpansions: 256 } } } } ]
db.movies.aggregate([ { $search: { "autocomplete": { "path": "title", "query": "pre", "fuzzy": { "maxEdits": 1, "prefixLength": 1, "maxExpansions": 256 } } } }, { $limit: 10 }, { $project: { "_id": 0, "title": 1 } } ])
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||
|
| |||||||||||
|
|
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteFuzzyExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define fuzzy options SearchFuzzyOptions fuzzyOptions = new SearchFuzzyOptions() { MaxEdits = 1, PrefixLength = 1, MaxExpansions = 256 }; // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "pre", fuzzy: fuzzyOptions)) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id)) .Limit(10) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } }
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.D{{Key: "query", Value: "pre"}, {Key: "path", Value: "title"}, {Key: "fuzzy", Value: bson.D{{Key: "maxEdits", Value: 1}, {Key: "prefixLength", Value: 1}, {Key: "maxExpansions", Value: 256}}}}}}}} limitStage := bson.D{{Key: "$limit", Value: 10}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "_id", Value: 0}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteFuzzyExample { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("query", "pre") .append("path", "title") .append("fuzzy", new Document("maxEdits", 1).append("prefixLength", 1).append("maxExpansions", 256)))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(10), project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); } } }
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document("autocomplete", Document("query", "pre") .append("path", "title") .append("fuzzy", Document("maxEdits", 1) .append("prefixLength", 1) .append("maxExpansions", 256)) ) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(10), project(fields(excludeId(), include("title"))) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "pre", path: "title", fuzzy: {"maxEdits": 1, "prefixLength": 1, "maxExpansions": 256}}}}, {$limit: 10}, {$project: {_id: 0,title: 1}} ]; // run pipeline const result = await coll.aggregate(agg); // print results await result.forEach((doc) => console.log(doc)); } finally { await client.close(); } } run().catch(console.dir);
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search": {"autocomplete": {"query": "pre", "path": "title", "fuzzy": {"maxEdits": 1, "prefixLength": 1, "maxExpansions": 256}}}}, {"$limit": 10}, {"$project": {"_id": 0, "title": 1}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 1 _id: “573a1390f29313caabcd5293” plot: "Young Pauline is left a lot of money when her wealthy uncle dies. Howe…" genres: Array runtime: 199 ... title: "The Perils of Pauline" SCORE: 1 _id: “573a1391f29313caabcd9458” plot: "A young artist draws a face at a canvas on his easel. Suddenly the mou…" genres: Array rated: "UNRATED" ... title: "The Blood of a Poet" SCORE: 1 _id: “573a1392f29313caabcda09b” plot: "Tells how King Henry VIII came to marry five more times after his divo…" genres: Array runtime: 97 ... title: "The Private Life of Henry VIII." SCORE: 1 _id: “573a1392f29313caabcda556” plot: "What do women want? Don Juan is aging. He's arrived secretly in Sevill…" genres: Array runtime: 89 ... title: "The Private Life of Don Juan" SCORE: 1 _id: “573a1392f29313caabcdaee0” plot: "The story of Dr. Samuel Mudd, who was imprisoned after innocently trea…" genres: Array runtime: 96 ... title: "The Prisoner of Shark Island" SCORE: 1 _id: “573a1392f29313caabcdb3f2” plot: "Two lookalike boys, one a poor street kid and the other a prince, exch…" genres: Array runtime: 118 ... title: "The Prince and the Pauper" SCORE: 1 _id: “573a1392f29313caabcdb3f4” plot: "An Englishman on a Ruritarian holiday must impersonate the king when t…" genres: Array runtime: 101 ... title: "The Prisoner of Zenda" SCORE: 1 _id: “573a1392f29313caabcdb505” plot: "After the death of her husband, Christine realizes she has possibly wa…" genres: Array runtime: 144 ... title: "Dance Program" SCORE: 1 _id: “573a1393f29313caabcdca58” plot: "While traveling in France during the Nazi invasion of 1940, an English…" genres: Array runtime: 87 ... title: "The Pied Piper" SCORE: 1 _id: “573a1393f29313caabcdca76” plot: "The official World War II US Government film statement defining the va…" genres: Array runtime: 87 ... title: "Prelude to War"
SCORE: 1 _id: “573a1390f29313caabcd5ea4” plot: "A District Attorney's outspoken stand on abortion gets him in trouble …" genres: Array runtime: 62 ... title: "Where Are My Children?" SCORE: 1 _id: “573a1391f29313caabcd70b4” plot: "An extended family split up in France and Germany find themselves on o…" genres: Array runtime: 150 ... title: "The Four Horsemen of the Apocalypse" SCORE: 1 _id: “573a1391f29313caabcd7850” plot: "In fifteenth century Paris, the brother of the archdeacon plots with t…" genres: Array runtime: 133 ... title: "The Hunchback of Notre Dame" SCORE: 1 _id: “573a1391f29313caabcd8cbd” plot: "A young lady from Georgia goes to Hollywood in the hopes of becoming a…" genres: Array runtime: 83 ... title: "Show People" SCORE: 1 _id: “573a1392f29313caabcd9df7” plot: "A young American man is transported back to London in the time of the …" genres: Array runtime: 84 ... title: "Berkeley Square" SCORE: 1 _id: “573a1392f29313caabcda7fb” plot: "An entertainer impersonates a look-alike banker, causing comic confusi…" genres: Array runtime: 82 ... title: "Folies Bergère de Paris" SCORE: 1 _id: “573a1393f29313caabcdc4a2” plot: "Boxer Joe Pendleton dies 50 years too soon due to a heavenly mistake, …" genres: Array runtime: 94 ... title: "Here Comes Mr. Jordan" SCORE: 1 _id: “573a1393f29313caabcdc814” plot: "An American man marries a Serbian immigrant who fears that she will tu…" genres: Array runtime: 73 ... title: "Cat People" SCORE: 1 _id: “573a1393f29313caabcdc87b” plot: "Mail author for translation. Kodos hegycsucsok, fekete fenyvesek vilag…" genres: Array runtime: 88 ... title: "People on the Alps" SCORE: 1 _id: “573a1393f29313caabcdcd39” plot: "A soldier falls for a chorus girl and then experiences trouble when he…" genres: Array runtime: 103 ... title: "The Gang's All Here"
SCORE: 1 _id: “573a1390f29313caabcd5293” plot: "Young Pauline is left a lot of money when her wealthy uncle dies. Howe…" genres: Array runtime: 199 ... title: "The Perils of Pauline" SCORE: 1 _id: “573a1390f29313caabcd5967” plot: "An intrepid reporter and his loyal friend battle a bizarre secret soci…" genres: Array runtime: 399 ... title: "Les vampires" SCORE: 1 _id: “573a1391f29313caabcd6ea2” plot: "The simple-minded son of a rich financier must find his own way in the…" genres: Array runtime: 77 ... title: "The Saphead" SCORE: 1 _id: “573a1391f29313caabcd70b4” plot: "An extended family split up in France and Germany find themselves on o…" genres: Array runtime: 150 ... title: "The Four Horsemen of the Apocalypse" SCORE: 1 _id: “573a1391f29313caabcd7b98” plot: "A bitter clown endeavors to rescue the young woman he loves from the l…" genres: Array runtime: 95 ... title: "He Who Gets Slapped" SCORE: 1 _id: “573a1391f29313caabcd806b” plot: "A mad, disfigured composer seeks love with a lovely young opera singer…" genres: Array runtime: 93 ... title: "The Phantom of the Opera" SCORE: 1 _id: “573a1391f29313caabcd8cbd” plot: "A young lady from Georgia goes to Hollywood in the hopes of becoming a…" genres: Array runtime: 83 ... title: "Show People" SCORE: 1 _id: “573a1391f29313caabcd9458” plot: "A young artist draws a face at a canvas on his easel. Suddenly the mou…" genres: Array rated: "UNRATED" ... title: "The Blood of a Poet" SCORE: 1 _id: “573a1391f29313caabcd9651” plot: "In London at the turn of the century, the bandit Mack the Knife marrie…" genres: Array runtime: 112 ... title: "The 3 Penny Opera" SCORE: 1 _id: “573a1392f29313caabcd9caa” plot: "Many passengers on the Shanghai Express are more concerned that the no…" genres: Array runtime: 82 ... title: "Shanghai Express"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { title: 'The Perils of Pauline' }, 2 { title: 'The Blood of a Poet' }, 3 { title: 'The Private Life of Henry VIII.' }, 4 { title: 'The Private Life of Don Juan' }, 5 { title: 'The Prisoner of Shark Island' }, 6 { title: 'The Prince and the Pauper' }, 7 { title: 'The Prisoner of Zenda' }, 8 { title: 'Dance Program' }, 9 { title: 'The Pied Piper' }, 10 { title: 'Prelude to War' }
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 { title: 'Where Are My Children?' } 2 { title: 'The Four Horsemen of the Apocalypse' } 3 { title: 'The Hunchback of Notre Dame' } 4 { title: 'Show People' } 5 { title: 'Berkeley Square' } 6 { title: 'Folies Bergère de Paris' } 7 { title: 'Here Comes Mr. Jordan' } 8 { title: 'Cat People' } 9 { title: 'People on the Alps' } 10 { title: "The Gang's All Here" }
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 { title: 'The Perils of Pauline' } 2 { title: 'Les vampires' } 3 { title: 'The Saphead' } 4 { title: 'The Four Horsemen of the Apocalypse' } 5 { title: 'He Who Gets Slapped' } 6 { title: 'The Phantom of the Opera' } 7 { title: 'Show People' } 8 { title: 'The Blood of a Poet' } 9 { title: 'The 3 Penny Opera' } 10 { title: 'Shanghai Express' }
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 { title: 'The Perils of Pauline' }, 2 { title: 'The Blood of a Poet' }, 3 { title: 'The Private Life of Henry VIII.' }, 4 { title: 'The Private Life of Don Juan' }, 5 { title: 'The Prisoner of Shark Island' }, 6 { title: 'The Prince and the Pauper' }, 7 { title: 'The Prisoner of Zenda' }, 8 { title: 'Dance Program' }, 9 { title: 'The Pied Piper' }, 10 { title: 'Prelude to War' }
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 { title: 'Where Are My Children?' } 2 { title: 'The Four Horsemen of the Apocalypse' } 3 { title: 'The Hunchback of Notre Dame' } 4 { title: 'Show People' } 5 { title: 'Berkeley Square' } 6 { title: 'Folies Bergère de Paris' } 7 { title: 'Here Comes Mr. Jordan' } 8 { title: 'Cat People' } 9 { title: 'People on the Alps' } 10 { title: "The Gang's All Here" }
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 { title: 'The Perils of Pauline' } 2 { title: 'Les vampires' } 3 { title: 'The Saphead' } 4 { title: 'The Four Horsemen of the Apocalypse' } 5 { title: 'He Who Gets Slapped' } 6 { title: 'The Phantom of the Opera' } 7 { title: 'Show People' } 8 { title: 'The Blood of a Poet' } 9 { title: 'The 3 Penny Opera' } 10 { title: 'Shanghai Express' }
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 { "title" : "The Perils of Pauline" } 2 { "title" : "The Blood of a Poet" } 3 { "title" : "The Private Life of Henry VIII." } 4 { "title" : "The Private Life of Don Juan" } 5 { "title" : "The Prisoner of Shark Island" } 6 { "title" : "The Prince and the Pauper" } 7 { "title" : "The Prisoner of Zenda" } 8 { "title" : "Dance Program" } 9 { "title" : "The Pied Piper" } 10 { "title" : "Prelude to War" }
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 { "title" : "Where Are My Children?" } 2 { "title" : "The Four Horsemen of the Apocalypse" } 3 { "title" : "The Hunchback of Notre Dame" } 4 { "title" : "Show People" } 5 { "title" : "Berkeley Square" } 6 { "title" : "Folies Bergère de Paris" } 7 { "title" : "Here Comes Mr. Jordan" } 8 { "title" : "Cat People" } 9 { "title" : "People on the Alps" } 10 { "title" : "The Gang's All Here" }
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 { "title" : "The Perils of Pauline" } 2 { "title" : "Les vampires" } 3 { "title" : "The Saphead" } 4 { "title" : "The Four Horsemen of the Apocalypse" } 5 { "title" : "He Who Gets Slapped" } 6 { "title" : "The Phantom of the Opera" } 7 { "title" : "Show People" } 8 { "title" : "The Blood of a Poet" } 9 { "title" : "The 3 Penny Opera" } 10 { "title" : "Shanghai Express" }
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 [{title The Perils of Pauline}] 2 [{title The Blood of a Poet}] 3 [{title The Private Life of Henry VIII.}] 4 [{title The Private Life of Don Juan}] 5 [{title The Prisoner of Shark Island}] 6 [{title The Prince and the Pauper}] 7 [{title The Prisoner of Zenda}] 8 [{title Dance Program}] 9 [{title The Pied Piper}] 10 [{title Prelude to War}]
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 [{title Where Are My Children?}] 2 [{title The Four Horsemen of the Apocalypse}] 3 [{title The Hunchback of Notre Dame}] 4 [{title Show People}] 5 [{title Berkeley Square}] 6 [{title Folies Bergère de Paris}] 7 [{title Here Comes Mr. Jordan}] 8 [{title Cat People}] 9 [{title People on the Alps}] 10 [{title The Gang's All Here}]
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 [{title The Perils of Pauline}] 2 [{title Les vampires}] 3 [{title The Saphead}] 4 [{title The Four Horsemen of the Apocalypse}] 5 [{title He Who Gets Slapped}] 6 [{title The Phantom of the Opera}] 7 [{title Show People}] 8 [{title The Blood of a Poet}] 9 [{title The 3 Penny Opera}] 10 [{title Shanghai Express}]
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 {"title": "The Perils of Pauline"} 2 {"title": "The Blood of a Poet"} 3 {"title": "The Private Life of Henry VIII."} 4 {"title": "The Private Life of Don Juan"} 5 {"title": "The Prisoner of Shark Island"} 6 {"title": "The Prince and the Pauper"} 7 {"title": "The Prisoner of Zenda"} 8 {"title": "Dance Program"} 9 {"title": "The Pied Piper"} 10 {'title': 'Prelude to War'}
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 {"title": "Where Are My Children?"} 2 {"title": "The Four Horsemen of the Apocalypse"} 3 {"title": "The Hunchback of Notre Dame"} 4 {"title": "Show People"} 5 {"title": "Berkeley Square"} 6 {"title": "Folies Bergère de Paris"} 7 {"title": "Here Comes Mr. Jordan"} 8 {"title": "Cat People"} 9 {"title": "People on the Alps"} 10 {"title": "The Gang's All Here"}
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 {"title": "The Perils of Pauline"} 2 {"title": "Les vampires"} 3 {"title": "The Saphead"} 4 {"title": "The Four Horsemen of the Apocalypse"} 5 {"title": "He Who Gets Slapped"} 6 {"title": "The Phantom of the Opera"} 7 {"title": "Show People"} 8 {"title": "The Blood of a Poet"} 9 {"title": "The 3 Penny Opera"} 10 {"title": "Shanghai Express"}
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 Document{{title=The Perils of Pauline}} 2 Document{{title=The Private Life of Henry VIII.}} 3 Document{{title=Prelude to War}} 4 Document{{title=Sitting Pretty}} 5 Document{{title=The Prisoner}} 6 Document{{title=Chi lavora è perduto (In capo al mondo)}} 7 Document{{title=Profound Desires of the Gods}} 8 Document{{title=The Protagonists}} 9 Document{{title=Property Is No Longer a Theft}} 10 Document{{title=Premiya}}
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 Document{{title=The Four Horsemen of the Apocalypse}} 2 Document{{title=Folies Bergère de Paris}} 3 Document{{title=Mother Wore Tights}} 4 Document{{title=El hombre sin rostro}} 5 Document{{title=Il segno di Venere}} 6 Document{{title=Creature from the Black Lagoon}} 7 Document{{title=Susan Slept Here}} 8 Document{{title=Tell Them Willie Boy Is Here}} 9 Document{{title=Pilatus und andere - Ein Film fèr Karfreitag}} 10 Document{{title=Watch Out, We're Mad}}
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 Document{{title=The Four Horsemen of the Apocalypse}} 2 Document{{title=The Private Life of Henry VIII.}} 3 Document{{title=David Copperfield}} 4 Document{{title=The Prisoner of Zenda}} 5 Document{{title=People on the Alps}} 6 Document{{title=Prelude to War}} 7 Document{{title=The Pride of the Yankees}} 8 Document{{title=Phantom of the Opera}} 9 Document{{title=The Curse of the Cat People}} 10 Document{{title=The People Against O'Hara}}
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 { title: 'The Perils of Pauline' } 2 { title: 'The Blood of a Poet' } 3 { title: 'The Private Life of Henry VIII.' } 4 { title: 'The Private Life of Don Juan' } 5 { title: 'The Prisoner of Shark Island' } 6 { title: 'The Prince and the Pauper' } 7 { title: 'The Prisoner of Zenda' } 8 { title: 'Dance Program' } 9 { title: 'The Pied Piper' } 10 { title: 'Prelude to War' }
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 { title: 'Where Are My Children?' } 2 { title: 'The Four Horsemen of the Apocalypse' } 3 { title: 'The Hunchback of Notre Dame' } 4 { title: 'Show People' } 5 { title: 'Berkeley Square' } 6 { title: 'Folies Bergère de Paris' } 7 { title: 'Here Comes Mr. Jordan' } 8 { title: 'Cat People' } 9 { title: 'People on the Alps' } 10 { title: "The Gang's All Here" }
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 { title: 'The Perils of Pauline' } 2 { title: 'Les vampires' } 3 { title: 'The Saphead' } 4 { title: 'The Four Horsemen of the Apocalypse' } 5 { title: 'He Who Gets Slapped' } 6 { title: 'The Phantom of the Opera' } 7 { title: 'Show People' } 8 { title: 'The Blood of a Poet' } 9 { title: 'The 3 Penny Opera' } 10 { title: 'Shanghai Express' }
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
1 {'title': 'The Perils of Pauline'} 2 {'title': 'The Blood of a Poet'} 3 {'title': 'The Private Life of Henry VIII.'} 4 {'title': 'The Private Life of Don Juan'} 5 {'title': 'The Prisoner of Shark Island'} 6 {'title': 'The Prince and the Pauper'} 7 {'title': 'The Prisoner of Zenda'} 8 {'title': 'Dance Program'} 9 {'title': 'The Pied Piper'} 10 {'title': 'Prelude to War'}
これらの結果は、すべてのタイトルにおいて、1文字の変更を加え、単語の左側の最初の文字を固定した状態で、クエリ文字列に対して予測される単語を示しています。
1 {'title': 'Where Are My Children?'} 2 {'title': 'The Four Horsemen of the Apocalypse'} 3 {'title': 'The Hunchback of Notre Dame'} 4 {'title': 'Show People'} 5 {'title': 'Berkeley Square'} 6 {'title': 'Folies Bergère de Paris'} 7 {'title': 'Here Comes Mr. Jordan'} 8 {'title': 'Cat People'} 9 {'title': 'People on the Alps'} 10 {'title': "The Gang's All Here"}
これらの結果は、すべてのタイトルで、1 文字の変更と単語の右側の最初の文字定数を使用してクエリ文字列に対して予測される単語を示しています
1 {'title': 'The Perils of Pauline'} 2 {'title': 'Les vampires'} 3 {'title': 'The Saphead'} 4 {'title': 'The Four Horsemen of the Apocalypse'} 5 {'title': 'He Who Gets Slapped'} 6 {'title': 'The Phantom of the Opera'} 7 {'title': 'Show People'} 8 {'title': 'The Blood of a Poet'} 9 {'title': 'The 3 Penny Opera'} 10 {'title': 'Shanghai Express'}
これらの結果は、タイトル内の単語のさまざまな位置で1文字を変更してクエリ文字列に対して予測される単語を示しています。
部分一致の例
次のクエリは、指定したフィールドで、クエリで指定した文字列を含む単語やフレーズを検索する方法を示しています。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 [ 2 { 3 "$search": { 4 "index": "default", 5 "autocomplete": { 6 "path": "plot", 7 "query": "new purchase", 8 "tokenOrder": "any", 9 "fuzzy": { 10 "maxEdits": 2, 11 "prefixLength": 1, 12 "maxExpansions": 256 13 } 14 }, 15 "highlight": { 16 "path": "plot" 17 } 18 } 19 } 20 ]
SCORE: 3 _id: "573a13a4f29313caabd112f0" A divorced woman and her diabetic daughter take refuge in their newly-purchased house's safe room, when three men break-in, searching for a missing fortune. Matching fields: plot SCORE: 3 _id: "573a13d1f29313caabd8e209" A lonely writer develops an unlikely relationship with his newly purchased operating system that's designed to meet his every need. Matching fields: plot SCORE: 2 _id: "573a13bef29313caabd5b62d" Set in the near future when artificial organs can be bought on credit, it revolves around a man who struggles to make the payments on a heart he has purchased. He must Matching fields: plot SCORE: 2 _id: "573a13b3f29313caabd3c91e" He is "purchased" by a wealthy television producer and taken to a desolate island where he must fight to the death against nine other condemned killers from all corners of the world, with freedom going to the sole survivor. Matching fields: plot SCORE: 2 _id: "573a1398f29313caabceb931" A country boy becomes the head of a gang through the purchase of some lucky roses from an old lady. Matching fields: plot, plot SCORE: 1 _id: "573a13a7f29313caabd1b5ab" An illegal Nigerian immigrant discovers the unpalatable side of London life. Matching fields: plot SCORE: 1 _id: "573a13a7f29313caabd1b5c0" A young dropout falls in love with a nightclub dancer... Matching fields: plot SCORE: 1 _id: "573a13a7f29313caabd1b62f" In 1990, to protect his fragile mother from a fatal shock after a long coma, a young man must keep her from learning that her beloved nation of East Germany as she knew it has disappeared. Matching fields: plot SCORE: 1 _id: "573a13a7f29313caabd1b6af" Gadget once again has to fight his arch nemesis, Claw. Matching fields: plot
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 db.movies.aggregate([ 2 { 3 "$search": { 4 "index": "default", 5 "autocomplete": { 6 "path": "plot", 7 "query": "new purchase", 8 "tokenOrder": "any", 9 "fuzzy": { 10 "maxEdits": 2, 11 "prefixLength": 1, 12 "maxExpansions": 256 13 } 14 }, 15 "highlight": { 16 "path": "plot" 17 } 18 } 19 }, 20 { 21 "$limit": 5 22 }, 23 { 24 "$project": { 25 "_id": 0, 26 "title": 1, 27 "plot": 1, 28 "highlights": { "$meta": "searchHighlights" } 29 } 30 } 31 ])
[ { plot: "A divorced woman and her diabetic daughter take refuge in their newly-purchased house's safe room, when three men break-in, searching for a missing fortune.", title: 'Panic Room', highlights: [ { score: 4.364492893218994, path: 'plot', texts: [ { value: 'A divorced woman and her diabetic daughter take refuge in their ', type: 'text' }, { value: "newly-purchased house's safe", type: 'hit' }, { value: ' room, when three men break-in, searching for a missing fortune.', type: 'text' } ] } ] }, { plot: "A lonely writer develops an unlikely relationship with his newly purchased operating system that's designed to meet his every need.", title: 'Her', highlights: [ { score: 4.198050022125244, path: 'plot', texts: [ { value: 'A lonely writer develops an unlikely relationship with his ', type: 'text' }, { value: 'newly purchased operating system', type: 'hit' }, { value: " that's designed to meet his every ", type: 'text' }, { value: 'need', type: 'hit' }, { value: '.', type: 'text' } ] } ] }, { plot: "Set in the near future when artificial organs can be bought on credit, it revolves around a man who struggles to make the payments on a heart he has purchased. He must therefore go on the run before said ticker is repossessed.", title: 'Repo Men', highlights: [ { score: 2.6448397636413574, path: 'plot', texts: [ { value: 'Set in the ', type: 'text' }, { value: 'near future when', type: 'hit' }, { value: ' artificial organs can be bought on credit, it revolves around a man who struggles to make the payments on a heart he has ', type: 'text' }, { value: 'purchased. He must', type: 'hit' } ] } ] }, { plot: 'A psychologically troubled novelty supplier is nudged towards a romance with an English woman, all the while being extorted by a phone-sex line run by a crooked mattress salesman, and purchasing stunning amounts of pudding.', title: 'Punch-Drunk Love', highlights: [ { score: 1.2451990842819214, path: 'plot', texts: [ { value: 'A psychologically troubled ', type: 'text' }, { value: 'novelty supplier is', type: 'hit' }, { value: ' ', type: 'text' }, { value: 'nudged towards a', type: 'hit' }, { value: ' romance with an English woman, all the while being extorted by a phone-sex line run by a crooked mattress salesman, and ', type: 'text' }, { value: 'purchasing stunning amounts', type: 'hit' }, { value: ' of pudding.', type: 'text' } ] } ] }, { plot: 'Jack Conrad is awaiting the death penalty in a corrupt Central American prison. He is "purchased" by a wealthy television producer and taken to a desolate island where he must fight to the death against nine other condemned killers from all corners of the world, with freedom going to the sole survivor.', title: 'The Condemned', highlights: [ { score: 2.94378924369812, path: 'plot', texts: [ { value: 'He is "', type: 'text' }, { value: 'purchased" by a', type: 'hit' }, { value: ' wealthy television producer and taken to a desolate island where he must fight to the death against ', type: 'text' }, { value: 'nine other condemned', type: 'hit' }, { value: ' killers from all corners of the world, with freedom going to the sole survivor.', type: 'text' } ] } ] } ]
次のクエリは、オペレーターを使用して sample_mflix.movies
コレクションの plot
フィールドをクエリします。クエリには以下が含まれます。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
パイプラインステージ | クエリ | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||
|
| ||||||||||||||||
|
|
Auto Previewを有効にした場合、MongoDB Compass は$project
パイプライン ステージの横に次のドキュメントを表示します。
1 [ 2 { 3 plot: "A divorced woman and her diabetic daughter take refuge in their newly-purchased house's safe room, when three men break-in, searching for a missing fortune.", 4 title: 'Panic Room', 5 highlights: [ 6 { 7 score: 4.364492893218994, 8 path: 'plot', 9 texts: [ 10 { 11 value: 'A divorced woman and her diabetic daughter take refuge in their ', 12 type: 'text' 13 }, 14 { value: "newly-purchased house's safe", type: 'hit' }, 15 { 16 value: ' room, when three men break-in, searching for a missing fortune.', 17 type: 'text' 18 } 19 ] 20 } 21 ] 22 }, 23 { 24 plot: "A lonely writer develops an unlikely relationship with his newly purchased operating system that's designed to meet his every need.", 25 title: 'Her', 26 highlights: [ 27 { 28 score: 4.198050022125244, 29 path: 'plot', 30 texts: [ 31 { 32 value: 'A lonely writer develops an unlikely relationship with his ', 33 type: 'text' 34 }, 35 { value: 'newly purchased operating system', type: 'hit' }, 36 { 37 value: " that's designed to meet his every ", 38 type: 'text' 39 }, 40 { value: 'need', type: 'hit' }, 41 { value: '.', type: 'text' } 42 ] 43 } 44 ] 45 }, 46 { 47 plot: "Set in the near future when artificial organs can be bought on credit, it revolves around a man who struggles to make the payments on a heart he has purchased. He must therefore go on the run before said ticker is repossessed.", 48 title: 'Repo Men', 49 highlights: [ 50 { 51 score: 2.6448397636413574, 52 path: 'plot', 53 texts: [ 54 { value: 'Set in the ', type: 'text' }, 55 { value: 'near future when', type: 'hit' }, 56 { value: ' artificial organs can be bought on credit, it revolves around a man who struggles to make the payments on a heart he has ', type: 'text' }, 57 { value: 'purchased. He must', type: 'hit' } 58 ] 59 } 60 ] 61 }, 62 { 63 plot: 'A psychologically troubled novelty supplier is nudged towards a romance with an English woman, all the while being extorted by a phone-sex line run by a crooked mattress salesman, and purchasing stunning amounts of pudding.', 64 title: 'Punch-Drunk Love', 65 highlights: [ 66 { 67 score: 1.2451990842819214, 68 path: 'plot', 69 texts: [ 70 { value: 'A psychologically troubled ', type: 'text' }, 71 { value: 'novelty supplier is', type: 'hit' }, 72 { value: ' ', type: 'text' }, 73 { value: 'nudged towards a', type: 'hit' }, 74 { 75 value: ' romance with an English woman, all the while being extorted by a phone-sex line run by a crooked mattress salesman, and ', 76 type: 'text' 77 }, 78 { value: 'purchasing stunning amounts', type: 'hit' }, 79 { value: ' of pudding.', type: 'text' } 80 ] 81 } 82 ] 83 }, 84 { 85 plot: 'Jack Conrad is awaiting the death penalty in a corrupt Central American prison. He is "purchased" by a wealthy television producer and taken to a desolate island where he must fight to the death against nine other condemned killers from all corners of the world, with freedom going to the sole survivor.', 86 title: 'The Condemned', 87 highlights: [ 88 { 89 score: 2.94378924369812, 90 path: 'plot', 91 texts: [ 92 { value: 'He is "', type: 'text' }, 93 { value: 'purchased" by a', type: 'hit' }, 94 { 95 value: ' wealthy television producer and taken to a desolate island where he must fight to the death against ', 96 type: 'text' 97 }, 98 { value: 'nine other condemned', type: 'hit' }, 99 { 100 value: ' killers from all corners of the world, with freedom going to the sole survivor.', 101 type: 'text' 102 } 103 ] 104 } 105 ] 106 } 107 ]
このコード例では、次のタスクを実行します。
mongodb
パッケージと依存関係をインポートします。Atlas クラスターへの接続を確立します。
以下を使用するクエリを実行します。
カーソルを反復処理して、クエリに一致するドキュメントを出力します。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 using MongoDB.Bson; 2 using MongoDB.Bson.Serialization.Attributes; 3 using MongoDB.Bson.Serialization.Conventions; 4 using MongoDB.Driver; 5 using MongoDB.Driver.Search; 6 7 public class PartialAutocomplete 8 { 9 private const string MongoConnectionString = "<connection-string>"; 10 11 public static void Main(string[] args) { 12 // allow automapping of the camelCase database fields to our MovieDocument 13 var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; 14 ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); 15 16 // connect to your Atlas cluster 17 var mongoClient = new MongoClient(MongoConnectionString); 18 var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); 19 var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); 20 21 // define fuzzy options 22 SearchFuzzyOptions fuzzyOptions = new SearchFuzzyOptions() 23 { 24 MaxEdits = 2, 25 PrefixLength = 1, 26 MaxExpansions = 256 27 }; 28 29 // define and run pipeline 30 var results = moviesCollection.Aggregate() 31 .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Plot, "new purchase", SearchAutocompleteTokenOrder.Any, fuzzy: fuzzyOptions), new SearchHighlightOptions<MovieDocument>(movie => movie.Plot), 32 indexName: "default") 33 .Project<MovieDocument>(Builders<MovieDocument>.Projection 34 .Include(movie => movie.Plot) 35 .Include(movie => movie.Title) 36 .Exclude(movie => movie.Id) 37 .MetaSearchHighlights("highlights")) 38 .Limit(5) 39 .ToList(); 40 41 // print results 42 foreach (var movie in results) { 43 Console.WriteLine(movie.ToJson()); 44 } 45 } 46 } 47 48 [ ]49 public class MovieDocument { 50 [ ]51 public ObjectId Id { get; set; } 52 public string Plot { get; set; } 53 public string Title { get; set; } 54 [ ]55 public List<SearchHighlight> Highlights { get; set; } 56 }
次のクエリは、オペレーターを使用して sample_mflix.movies
コレクションの plot
フィールドをクエリします。クエリには以下が含まれます。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "time" 7 8 "go.mongodb.org/mongo-driver/v2/bson" 9 "go.mongodb.org/mongo-driver/v2/mongo" 10 "go.mongodb.org/mongo-driver/v2/mongo/options" 11 ) 12 13 // define structure of movies collection 14 type Movie struct { 15 title string 16 plot string 17 } 18 19 func main() { 20 var err error 21 // connect to the Atlas cluster 22 ctx := context.Background() 23 client, err := mongo.Connect(options.Client().SetTimeout(5 * time.Second).ApplyURI("<connection-string>")) 24 if err != nil { 25 panic(err) 26 } 27 defer client.Disconnect(ctx) 28 // set namespace 29 collection := client.Database("sample_mflix").Collection("movies") 30 // define pipeline 31 searchStage := bson.D{{Key: "$search", Value: bson.M{ 32 "index": "default", 33 "autocomplete": bson.M{ 34 "path": "plot", "query": "new purchase", "tokenOrder": "any", "fuzzy": bson.M{ 35 "maxEdits": 2, "prefixLength": 1, "maxExpansions": 256}, 36 }, 37 "highlight": bson.D{ 38 {Key: "path", Value: "plot"}, 39 }, 40 }}} 41 limitStage := bson.D{{Key: "$limit", Value: 5}} 42 projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "plot", Value: 1}, {Key: "_id", Value: 0}, {Key: "highlights", Value: bson.D{{Key: "$meta", Value: "searchHighlights"}}}}}} 43 // run pipeline 44 cursor, err := collection.Aggregate(ctx, mongo.Pipeline{searchStage, limitStage, projectStage}) 45 if err != nil { 46 panic(err) 47 } 48 // print results 49 var results []Movie 50 if err = cursor.All(context.TODO(), &results); err != nil { 51 panic(err) 52 } 53 for _, result := range results { 54 fmt.Println(result) 55 } 56 }
このコード例では、次のタスクを実行します。
mongodb
パッケージと依存関係をインポートします。Atlas クラスターへの接続を確立します。
以下を使用するクエリを実行します。
カーソルを反復処理して、クエリに一致するドキュメントを出力します。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 import java.util.Arrays; 2 import static com.mongodb.client.model.Aggregates.limit; 3 import static com.mongodb.client.model.Aggregates.project; 4 import static com.mongodb.client.model.Projections.excludeId; 5 import static com.mongodb.client.model.Projections.fields; 6 import static com.mongodb.client.model.Projections.include; 7 import com.mongodb.client.MongoClient; 8 import com.mongodb.client.MongoClients; 9 import com.mongodb.client.MongoCollection; 10 import com.mongodb.client.MongoDatabase; 11 import org.bson.Document; 12 13 public class PartialMatchQuery { 14 public static void main( String[] args ) { 15 16 // define query 17 Document agg = new Document("$search", 18 new Document ("index", "default") 19 .append("autocomplete", 20 new Document("path", "plot") 21 .append("query", "new purchase") 22 .append("tokenOrder", "any") 23 .append("fuzzy", 24 new Document("maxEdits", 2) 25 .append("prefixLength", 1) 26 .append("maxExpansions", 256)))); 27 28 // specify connection 29 String uri = "<connection-string>"; 30 31 // establish connection and set namespace 32 try (MongoClient mongoClient = MongoClients.create(uri)) { 33 MongoDatabase database = mongoClient.getDatabase("sample_mflix"); 34 MongoCollection<Document> collection = database.getCollection("movies"); 35 // run query and print results 36 collection.aggregate(Arrays.asList(agg, 37 limit(5), 38 project(fields(excludeId(), include("title", "plot"))))) 39 .forEach(doc -> System.out.println(doc.toJson())); 40 } 41 } 42 }
このコード例では、次のタスクを実行します。
mongodb
パッケージと依存関係をインポートします。Atlas クラスターへの接続を確立します。
以下を使用するクエリを実行します。
クエリに一致するドキュメントを
AggregateFlow
インスタンスから出力します。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 import com.mongodb.client.model.Aggregates.limit 2 import com.mongodb.client.model.Aggregates.project 3 import com.mongodb.client.model.Projections.* 4 import com.mongodb.kotlin.client.coroutine.MongoClient 5 import kotlinx.coroutines.runBlocking 6 import org.bson.Document 7 8 fun main() { 9 // establish connection and set namespace 10 val uri = "<connection-string>" 11 val mongoClient = MongoClient.create(uri) 12 val database = mongoClient.getDatabase("sample_mflix") 13 val collection = database.getCollection<Document>("movies") 14 15 runBlocking { 16 // define query 17 val agg = Document( 18 "\$search", 19 Document("index", "default") 20 .append( 21 "autocomplete", 22 Document("path", "plot") 23 .append("query", "new purchase") 24 .append("tokenOrder", "any") 25 .append( 26 "fuzzy", 27 Document("maxEdits", 2) 28 .append("prefixLength", 1) 29 .append("maxExpansions", 256) 30 ) 31 ) 32 ) 33 34 // run query and print results 35 val resultsFlow = collection.aggregate<Document>( 36 listOf( 37 agg, 38 limit(5), 39 project(fields(excludeId(), include("title", "plot"))) 40 ) 41 ) 42 resultsFlow.collect { println(it) } 43 } 44 mongoClient.close() 45 }
このコード例では、次のタスクを実行します。
MongoDB の Node.js ドライバーである
mongodb
をインポートします。Atlas クラスターへの接続を確立するための
MongoClient
クラスのインスタンスを作成します。以下を使用するクエリを実行します。
カーソルを反復処理して、クエリに一致するドキュメントを出力します。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 const MongoClient = require("mongodb").MongoClient; 2 const assert = require("assert"); 3 4 const agg = [ 5 { 6 '$search': { 7 'index': 'default', 8 'autocomplete': { 9 'path': 'plot', 10 'query': 'new purchase', 11 'tokenOrder': 'any', 12 'fuzzy': { 13 'maxEdits': 2, 14 'prefixLength': 1, 15 'maxExpansions': 256 16 } 17 }, 18 'highlight': { 19 'path': 'plot' 20 } 21 } 22 }, { 23 '$limit': 5 24 }, { 25 '$project': { 26 '_id': 0, 27 'title': 1, 28 'plot': 1, 29 'highlights': { 30 '$meta': 'searchHighlights' 31 } 32 } 33 } 34 ]; 35 36 MongoClient.connect( 37 "<connection-string>", 38 { useNewUrlParser: true, useUnifiedTopology: true }, 39 async function (connectErr, client) { 40 assert.equal(null, connectErr); 41 const coll = client.db("sample_mflix").collection("movies"); 42 let cursor = await coll.aggregate(agg); 43 await cursor.forEach((doc) => console.log(doc)); 44 client.close(); 45 } 46 );
次のコード例では、次を行います。
pymongo
、MongoDB の Python ドライバー、およびDNSシード リスト接続文字列を使用してpymongo
をAtlas
に接続するために必要なdns
モジュールをインポートします。Atlas クラスターへの接続を確立するための
MongoClient
クラスのインスタンスを作成します。以下を使用するクエリを実行します。
カーソルを反復処理して、クエリに一致するドキュメントを出力します。
このクエリでは、クエリ文字列new
purchase
をフィールド内の単語と照合するために、次の操作が実行されます。
new
とpurchase
という単語をplot
フィールドのどこにでも表示できます。クエリをフィールド内の単語と一致させるためにクエリ文字列に 2 文字のバリエーションを含めることはできますが、クエリ文字列の最初の文字は変更できません。
最大 256 語の類似タームを検討できます。
1 import pymongo 2 import dns 3 4 client = pymongo.MongoClient('<connection-string>') 5 result = client['sample_mflix']['movies'].aggregate([ 6 { 7 '$search': { 8 'index': 'default', 9 'autocomplete': { 10 'path': 'plot', 11 'query': 'new purchase', 12 'tokenOrder': 'any', 13 'fuzzy': { 14 'maxEdits': 2, 15 'prefixLength': 1, 16 'maxExpansions': 256 17 } 18 }, 19 'highlight': { 20 'path': 'plot' 21 } 22 } 23 }, { 24 '$limit': 5 25 }, { 26 '$project': { 27 '_id': 0, 28 'title': 1, 29 'plot': 1, 30 'highlights': { 31 '$meta': 'searchHighlights' 32 } 33 } 34 } 35 ]) 36 37 for i in result: 38 print(i)
トークン注文の例
次のクエリは、title
フィールドに men
with
の文字が含まれる映画を検索します。クエリでは tokenOrder
フィールドも使用され、このフィールドでは、クエリがトークンを any
の順序で検索するか、sequential
の順序で検索するかを指定します。
例から始める
キーワード アナライザーを使用してフィールドにインデックスを付けると、 title
フィールドで用語またはフレーズで始まる映画のタイトルを検索できます
次のサンプル クエリの結果を取得するには、edgeGram
トークン化戦略のキーワード アナライザを使用してフィールドをインデックスする必要があります。他の組み込みアナライザを使用してフィールドをインデックスすると、Atlas Search はテキスト フィールドを単一の用語としてインデックスしないため、結果を返しません。edgeGram
トークン化戦略では、単語の左側からトークンが作成されます。
大文字と小文字を区別しない結果を返すには、foldDiacritics
を true
に設定する必要があります。foldDiacritics
を false
に設定した場合、Atlas Search が結果を返すには、クエリ タームの大文字と小文字がドキュメント内の大文字と小文字と完全に一致している必要があります。
{ "mappings": { "dynamic": false, "fields": { "title": [ { "type": "token" }, { "type": "string" }, { "foldDiacritics": true, "maxGrams": 7, "minGrams": 3, "analyzer": "lucene.keyword", "tokenization": "edgeGram", "type": "autocomplete" }] } } }
次のクエリは、Fast &
という単語で始まる映画タイトルを検索します。
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "Fast &", tokenOrder: "sequential" } } } ]
各クエリには、次のものが含まれます。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||
---|---|---|---|---|---|---|---|---|
|
| |||||||
|
| |||||||
|
|
各クエリには、次のものが含まれます。
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteTokenOrderSequentialStartsWithExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "Fast &", SearchAutocompleteTokenOrder.Sequential)) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id)) .Limit(4) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } }
各クエリには、次のものが含まれます。
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.D{{Key: "query", Value: "Fast &"}, {Key: "path", Value: "title"}, {Key: "tokenOrder", Value: "sequential"}}}}}} limitStage := bson.D{{Key: "$limit", Value: 4}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "_id", Value: 0}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
各クエリには、次のものが含まれます。
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteStartsWith { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("query", "Fast &").append("path", "title").append("tokenOrder", "sequential"))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(4), project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); } } }
各クエリには、次のものが含まれます。
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document( "autocomplete", Document("query", "Fast &") .append("path", "title") .append("tokenOrder", "sequential") ) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(4), project(fields(excludeId(), include("title"))) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
各クエリには、次のものが含まれます。
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "Fast &", path: "title", tokenOrder: "sequential"}}}, {$limit: 4}, {$project: {_id: 0,title: 1}} ]; // run pipeline const result = await coll.aggregate(agg); // print results await result.forEach((doc) => console.log(doc)); } finally { await client.close(); } } run().catch(console.dir);
各クエリには、次のものが含まれます。
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search": {"autocomplete": {"query": "men with", "path": "title", "tokenOrder": "sequential"}}}, {"$limit": 4}, {"$project": {"_id": 0, "title": 1}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
SCORE: 10.042893409729004 _id: “573a13bdf29313caabd5929f” fullplot: "Heading back to the streets where it all began, two men rejoin two wom…" imdb: Object year: 2009 ... title: "Fast & Furious" SCORE: 9.515419006347656 _id: “573a13d3f29313caabd95cc5” fullplot: "Since Dom (Diesel) and Brian's (Walker) Rio heist toppled a kingpin's …" imdb: Object year: 2013 ... title "Fast & Furious 6"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { title: 'Fast & Furious' }, 2 { title: 'Fast & Furious 6' }
1 { title: 'Fast & Furious' }, 2 { title: 'Fast & Furious 6' }
1 { "title" : "Fast & Furious" } 2 { "title" : "Fast & Furious 6" }
1 [{title Fast & Furious}] 2 [{title Fast & Furious 6}]
1 {"title": "Fast & Furious"} 2 {"title": "Fast & Furious 6"}
1 Document{{title=Fast & Furious}} 2 Document{{title=Fast & Furious 6}}
1 { title: 'Fast & Furious' } 2 { title: 'Fast & Furious 6' }
1 {'title': 'Fast & Furious'} 2 {'title': 'Fast & Furious 6'}
any
の簡単な例
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "men with", tokenOrder: "any" } } } ]
各クエリには、次のものが含まれます。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||
---|---|---|---|---|---|---|---|---|
|
| |||||||
|
| |||||||
|
|
各クエリには、次のものが含まれます。
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteTokenOrderAnyExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "men with", SearchAutocompleteTokenOrder.Any)) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id)) .Limit(4) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } }
各クエリには、次のものが含まれます。
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.D{{Key: "query", Value: "men with"}, {Key: "path", Value: "title"}, {Key: "tokenOrder", Value: "any"}}}}}} limitStage := bson.D{{Key: "$limit", Value: 4}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "_id", Value: 0}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
各クエリには、次のものが含まれます。
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteTokenAny { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("query", "men with").append("path", "title").append("tokenOrder", "any"))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(4), project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); } } }
各クエリには、次のものが含まれます。
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document("autocomplete", Document("query", "men with") .append("path", "title") .append("tokenOrder", "any")) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(4), project(fields(excludeId(), include("title"))) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
各クエリには、次のものが含まれます。
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "men with", path: "title", tokenOrder: "any"}}}, {$limit: 4}, {$project: {_id: 0,title: 1}} ]; // run pipeline const result = await coll.aggregate(agg); // print results await result.forEach((doc) => console.log(doc)); } finally { await client.close(); } } run().catch(console.dir);
各クエリには、次のものが含まれます。
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search": {"autocomplete": {"query": "men with", "path": "title", "tokenOrder": "any"}}}, {"$limit": 4}, {"$project": {"_id": 0, "title": 1}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 21.18158721923828 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 21.18158721923828 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 19.015962600708008 _id: “573a1391f29313caabcd93a3” plot: "Navy divers clear the torpedo tube of a sunken submarine." genres: Array runtime: 77 ... title: "Men Without Women" SCORE: 11.215812683105469 _id: “573a13b8f29313caabd4bcbf” plot: "A graduate student (Nicholson) copes with a recent breakup by conducti…" genres: Array runtime: 80 ... title: "Brief Interviews with Hideous Men" SCORE: 10.668076515197754 _id: “573a13c9f29313caabd7ba99” plot: "The women of a remote Latin American town are forced to pick up the pi…"" genres: Array runtime: 87 ... title: "Without Men" SCORE: 10.106664657592773 _id: “573a13c8f29313caabd77ab6” plot: "Against the tumultuous backdrop of Iran's 1953 CIA-backed coup d'ètat,…" genres: Array runtime: 95 ... title: "Women Without Men" SCORE: 7.458737373352051 _id: “573a1398f29313caabce9a19” plot: "A man's wife leaves him to take up with an artist, so the man responds…" genres: Array runtime: 99 ... title: "Men..." SCORE: 7.405402183532715 _id: “573a13f2f29313caabdde0b4” plot: "Men and Chicken is a black comedy about two outcast brothers, who by g…" genres: Array runtime: 104 ... title: "Men & Chicken" SCORE: 7.2005205154418945 _id: “573a1394f29313caabce06c3” plot: "During the Korean War, a battle worn Lt. and his platoon behind enemy …" genres: Array runtime: 102 ... title: "Men in War" SCORE: 7.2005205154418945 _id: “573a1399f29313caabcec167” plot: "A mother of two sons finds life considerably difficult on her own afte…" genres: Array runtime: 115 ... title: "Men Don't Leave"
SCORE: 19.302995681762695 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 19.302995681762695 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 13.835155487060547 _id: “573a1399f29313caabcee64e” plot: "A thief's son cons his father into spending more time with him." genres: Array runtime: 109 ... title: "Getting Even with Dad" SCORE: 13.309324264526367 _id: “573a13cdf29313caabd844f5” plot: "Since his beloved violin was broken, Nasser Ali Khan, one of the most …" genres: Array runtime: 93 ... title: "Chicken with Plums" SCORE: 12.078420639038086 _id: “573a13b8f29313caabd4bcbf” plot: "A graduate student (Nicholson) copes with a recent breakup by conducti…" genres: Array runtime: 80 ... title: "Brief Interviews with Hideous Men" SCORE: 10.180097579956055 _id: “573a13b2f29313caabd3ab9b” fullplot: "A man runs into a woman at a wedding. They start to flirt and talk and…" imdb: Object year: 2005 ... title: "Conversations with Other Women" SCORE: 7.147367477416992 _id: “573a1398f29313caabce9a19” plot: "A man's wife leaves him to take up with an artist, so the man responds…" genres: Array runtime: 99 ... title: "Men..." SCORE: 7.054648399353027 _id: “573a1394f29313caabcde7cc” plot: "Paralized war vet tries to adjust to the world without the use of his …" genres: Array runtime: 85 ... title: "The Men" SCORE: 7.054648399353027 _id: “573a1399f29313caabced53c” plot: "Bitter about being double-crossed by the women he loved, (and with the…" genres: Array runtime: 105 ... title: "Simple Men" SCORE: 7.054648399353027 _id: “573a139af29313caabcf0f51” fullplot: "In a world where both Mutants and Humans fear each other, Marie, bette…" imdb: Object year: 2000 ... title: "X-Men"
SCORE: 16.18875503540039 _id: “573a1391f29313caabcd93a3” plot: "Navy divers clear the torpedo tube of a sunken submarine." genres: Array runtime: 77 ... title: "Men Without Women" SCORE: 15.995916366577148 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 15.995916366577148 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 15.642412185668945 _id: “573a13c8f29313caabd77ab6” plot: "Against the tumultuous backdrop of Iran's 1953 CIA-backed coup d'ètat,…" genres: Array runtime: 95 ... title: "Women Without Men" SCORE: 8.15120792388916 _id: “573a13b8f29313caabd4bcbf” plot: "A graduate student (Nicholson) copes with a recent breakup by conducti…" genres: Array runtime: 80 ... title: "Brief Interviews with Hideous Men" SCORE: 8.118724822998047 _id: “573a13b2f29313caabd3ab9b” fullplot: "A man runs into a woman at a wedding. They start to flirt and talk and…" imdb: Object year: 2005 ... title: "Conversations with Other Women" SCORE: 8.048237800598145 _id: “573a13a5f29313caabd138ca” plot: "This documentary, first shown on the Turner Classic Movies cable chann…" genres: Array runtime: 56 ... title: "Without Lying Down: Frances Marion and the Power of Women in Hollywood" SCORE: 7.620831489562988 _id: “573a13c9f29313caabd7ba99” plot: "The women of a remote Latin American town are forced to pick up the pi…"" genres: Array runtime: 87 ... title: "Without Men" SCORE: 4.35431432723999 _id: “573a1393f29313caabcdcd9d” plot: "A young Canadian nurse (Betsy) comes to the West Indies to care for Je…" genres: Array runtime: 69 ... title: "I Walked with a Zombie" SCORE: 4.35431432723999 _id: “573a1393f29313caabcdd9c7” plot: "Political intrigue and psychological drama run parallel. The queen is …" genres: Array runtime: 93 ... title: "The Eagle with Two Heads"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Men Without Women' } 4 { title: 'Brief Interviews with Hideous Men' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' } 2 { title: 'Men with Guns' } 3 { title: 'Men with Brooms' } 4 { title: 'Women Without Men' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Men Without Women' } 4 { title: 'Brief Interviews with Hideous Men' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' } 2 { title: 'Men with Guns' } 3 { title: 'Men with Brooms' } 4 { title: 'Women Without Men' }
1 { "title" : "Men with Guns" } 2 { "title" : "Men with Brooms" } 3 { "title" : "Men Without Women" } 4 { "title" : "Brief Interviews with Hideous Men" }
1 { "title" : "Men with Guns" } 2 { "title" : "Men with Brooms" } 3 { "title" : "Getting Even with Dad" } 4 { "title" : "Chicken with Plums" }
1 { "title" : "Men Without Women" } 2 { "title" : "Men with Guns" } 3 { "title" : "Men with Brooms" } 4 { "title" : "Women Without Men" }
1 [{title Men with Guns}] 2 [{title Men with Brooms}] 3 [{title Men Without Women}] 4 [{title Brief Interviews with Hideous Men}]
1 [{title Men with Guns}] 2 [{title Men with Brooms}] 3 [{title Getting Even with Dad}] 4 [{title Chicken with Plums}]
1 [{title Men Without Women}] 2 [{title Men with Guns}] 3 [{title Men with Brooms}] 4 [{title Women Without Men}]
1 {"title": "Men with Guns"} 2 {"title": "Men with Brooms"} 3 {"title": "Men Without Women"} 4 {"title": "Brief Interviews with Hideous Men"}
1 {"title": "Men with Guns"} 2 {"title": "Men with Brooms"} 3 {"title": "Getting Even with Dad"} 4 {"title": "Chicken with Plums"}
1 {"title": "Men Without Women"} 2 {"title": "Men with Guns"} 3 {"title": "Men with Brooms"} 4 {"title": "Women Without Men"}
1 Document{{title=Men with Brooms}} 2 Document{{title=Men with Guns}} 3 Document{{title=Men Without Women}} 4 Document{{title=Brief Interviews with Hideous Men}}
1 Document{{title=Men with Brooms}} 2 Document{{title=Men with Guns}} 3 Document{{title=Getting Even with Dad}} 4 Document{{title=Chicken with Plums}}
1 Document{{title=Men with Guns}} 2 Document{{title=Men with Brooms}} 3 Document{{title=Men Without Women}} 4 Document{{title=Women Without Men}}
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Men Without Women' } 4 { title: 'Brief Interviews with Hideous Men' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' } 2 { title: 'Men with Guns' } 3 { title: 'Men with Brooms' } 4 { title: 'Women Without Men' }
1 {'title': 'Men with Guns'} 2 {'title': 'Men with Brooms'} 3 {'title': 'Men Without Women'} 4 {'title': 'Brief Interviews with Hideous Men'}
1 {'title': 'Men with Guns'} 2 {'title': 'Men with Brooms'} 3 {'title': 'Getting Even with Dad'} 4 {'title': 'Chicken with Plums'}
1 {'title': 'Men Without Women'} 2 {'title': 'Men with Brooms'} 3 {'title': 'Women Without Men'} 4 {'title': 'Men with Guns'}
sequential
の簡単な例
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "men with", tokenOrder: "sequential" } } } ]
各クエリには、次のものが含まれます。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||
---|---|---|---|---|---|---|---|---|
|
| |||||||
|
| |||||||
|
|
各クエリには、次のものが含まれます。
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteTokenOrderSequentialSimpleExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "men with", SearchAutocompleteTokenOrder.Sequential)) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id)) .Limit(4) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } }
各クエリには、次のものが含まれます。
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.D{{Key: "query", Value: "men with"}, {Key: "path", Value: "title"}, {Key: "tokenOrder", Value: "sequential"}}}}}} limitStage := bson.D{{Key: "$limit", Value: 4}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "_id", Value: 0}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
各クエリには、次のものが含まれます。
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteTokenSequential { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("query", "men with").append("path", "title").append("tokenOrder", "sequential"))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(4), project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); } } }
各クエリには、次のものが含まれます。
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document( "autocomplete", Document("query", "men with") .append("path", "title") .append("tokenOrder", "sequential") ) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(4), project(fields(excludeId(), include("title"))) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
各クエリには、次のものが含まれます。
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "men with", path: "title", tokenOrder: "sequential"}}}, {$limit: 4}, {$project: {_id: 0,title: 1}} ]; // run pipeline const result = await coll.aggregate(agg); // print results await result.forEach((doc) => console.log(doc)); } finally { await client.close(); } } run().catch(console.dir);
各クエリには、次のものが含まれます。
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search": {"autocomplete": {"query": "men with", "path": "title", "tokenOrder": "sequential"}}}, {"$limit": 4}, {"$project": {"_id": 0, "title": 1}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 12.644559860229492 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 12.644559860229492 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 7.997925281524658 _id: “573a1391f29313caabcd93a3” plot: "Navy divers clear the torpedo tube of a sunken submarine." genres: Array runtime: 77 ... title: "Men Without Women"
SCORE: 11.758549690246582 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 11.758549690246582 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 7.70704460144043 _id: “573a1399f29313caabcee64e” plot: "A thief's son cons his father into spending more time with him." genres: Array runtime: 109 ... title: "Getting Even with Dad" SCORE: 7.111915588378906 _id: “573a13cdf29313caabd844f5” plot: "Since his beloved violin was broken, Nasser Ali Khan, one of the most …" genres: Array runtime: 93 ... title: "Chicken with Plums"
SCORE: 7.928277015686035 _id: “573a1391f29313caabcd93a3” plot: "Navy divers clear the torpedo tube of a sunken submarine." genres: Array runtime: 77 ... title: "Men Without Women" SCORE: 7.928277015686035 _id: “573a139af29313caabcf0b12” plot: "Humberto Fuentes is a wealthy doctor whose wife has recently died. In …" genres: Array runtime: 127 ... title: "Men with Guns" SCORE: 7.928277015686035 _id: “573a13a4f29313caabd1287f” plot: "Paul Gross stars as the leader of a recently reunited curling team fro…" genres: Array runtime: 102 ... title: "Men with Brooms" SCORE: 7.381933212280273 _id: “573a13c8f29313caabd77ab6” plot: "Against the tumultuous backdrop of Iran's 1953 CIA-backed coup d'ètat,…" genres: Array runtime: 95 ... title: "Women Without Men"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { title: 'Men with Guns' }, 2 { title: 'Men with Brooms' }, 3 { title: 'Men Without Women' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' }, 2 { title: 'Men with Guns' }, 3 { title: 'Men with Brooms' }, 4 { title: 'Women Without Men' }
1 { title: 'Men with Guns' }, 2 { title: 'Men with Brooms' }, 3 { title: 'Men Without Women' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' }, 2 { title: 'Men with Guns' }, 3 { title: 'Men with Brooms' }, 4 { title: 'Women Without Men' }
1 {"title": "Men with Guns"} 2 {"title": "Men with Brooms"} 3 {"title": "Men Without Women"}
1 { "title" : "Men with Guns" } 2 { "title" : "Men with Brooms" } 3 { "title" : "Getting Even with Dad" } 4 { "title" : "Chicken with Plums" }
1 { "title" : "Men Without Women" } 2 { "title" : "Men with Guns" } 3 { "title" : "Men with Brooms" } 4 { "title" : "Women Without Men" }
1 [{title Men with Guns}] 2 [{title Men with Brooms}] 3 [{title Men Without Women}]
1 [{title Men with Guns}] 2 [{title Men with Brooms}] 3 [{title Getting Even with Dad}] 4 [{title Chicken with Plums}]
1 [{title Men Without Women}] 2 [{title Men with Guns}] 3 [{title Men with Brooms}] 4 [{title Women Without Men}]
1 {"title": "Men with Guns"} 2 {"title": "Men with Brooms"} 3 {"title": "Men Without Women"}
1 { "title" : "Men with Guns" } 2 { "title" : "Men with Brooms" } 3 { "title" : "Getting Even with Dad" } 4 { "title" : "Chicken with Plums" }
1 {"title": "Men Without Women"} 2 {"title": "Men with Guns"} 3 {"title": "Men with Brooms"} 4 {"title": "Women Without Men"}
1 Document{{title=Men with Brooms}} 2 Document{{title=Men with Guns}} 3 Document{{title=Men Without Women}}
1 Document{{title=Men with Brooms}} 2 Document{{title=Men with Guns}} 3 Document{{title=Getting Even with Dad}} 4 Document{{title=Chicken with Plums}}
1 Document{{title=Men with Guns}} 2 Document{{title=Men with Brooms}} 3 Document{{title=Men Without Women}} 4 Document{{title=Women Without Men}}
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Men Without Women' }
1 { title: 'Men with Guns' } 2 { title: 'Men with Brooms' } 3 { title: 'Getting Even with Dad' } 4 { title: 'Chicken with Plums' }
1 { title: 'Men Without Women' } 2 { title: 'Men with Guns' } 3 { title: 'Men with Brooms' } 4 { title: 'Women Without Men' }
1 {'title': 'Men with Guns'} 2 {'title': 'Men with Brooms'} 3 {'title': 'Men Without Women'}
1 {'title': 'Men with Guns'} 2 {'title': 'Men with Brooms'} 3 {'title': 'Getting Even with Dad'} 4 {'title': 'Chicken with Plums'}
1 {'title': 'Men Without Women'} 2 {'title': 'Men with Guns'} 3 {'title': 'Men with Brooms'} 4 {'title': 'Women Without Men'}
強調表示の例
次のクエリは、movies
コレクションの title
フィールドで ger
の文字を検索し、title
フィールドで highlight
オプションを有効にします。
重要
パスのオートコンプリート インデックス バージョンを強調表示するには、オートコンプリート演算子がクエリ内でそのパスを使用する唯一の演算子である必要があります。
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { autocomplete: { path: "title", query: "ger" }, highlight: { path: "title" } } } ]
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
db.movies.aggregate([ { $search: { "autocomplete": { "path": "title", "query": ["ger"] }, "highlight": { "path": "title" } } }, { $limit: 5 }, { $project: { "score": { $meta: "searchScore" }, "title": 1, "_id": 0, "highlights": { "$meta": "searchHighlights" } } } ])
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
|
| |||||||||
|
|
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Conventions; using MongoDB.Driver; using MongoDB.Driver.Search; public class AutocompleteHighlightExample { private const string MongoConnectionString = "<connection-string>"; public static void Main(string[] args) { // allow automapping of the camelCase database fields to our MovieDocument var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); // connect to your Atlas cluster var mongoClient = new MongoClient(MongoConnectionString); var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); // define and run pipeline var results = moviesCollection.Aggregate() .Search(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "ger"), new SearchHighlightOptions<MovieDocument>(movie => movie.Title)) .Project<MovieDocument>(Builders<MovieDocument>.Projection .Include(movie => movie.Title) .Exclude(movie => movie.Id) .MetaSearchScore(movie => movie.Score) .MetaSearchHighlights("highlights")) .Limit(5) .ToList(); // print results foreach (var movie in results) { Console.WriteLine(movie.ToJson()); } } } [ ]public class MovieDocument { [ ] public ObjectId Id { get; set; } public string Title { get; set; } [ ] public List<SearchHighlight> Highlights { get; set; } public double Score { get; set; } }
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { // connect to your Atlas cluster client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) if err != nil { panic(err) } defer client.Disconnect(context.TODO()) // set namespace collection := client.Database("sample_mflix").Collection("movies") // define pipeline stages searchStage := bson.D{{Key: "$search", Value: bson.D{{Key: "autocomplete", Value: bson.M{"query": "ger", "path": "title"}}, {Key: "highlight", Value: bson.D{{Key: "path", Value: "title"}}}}}} limitStage := bson.D{{Key: "$limit", Value: 5}} projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "score", Value: bson.D{{Key: "$meta", Value: "searchScore"}}}, {Key: "title", Value: 1}, {Key: "_id", Value: 0}, {Key: "highlight", Value: bson.D{{Key: "$meta", Value: "searchHighlights"}}}}}} // run pipeline cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) if err != nil { panic(err) } // print results var results []bson.D if err = cursor.All(context.TODO(), &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) } }
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
import static com.mongodb.client.model.Aggregates.limit; import static com.mongodb.client.model.Aggregates.project; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class AutocompleteHighlight { public static void main(String[] args) { // connect to your Atlas cluster String uri = "<connection-string>"; try (MongoClient mongoClient = MongoClients.create(uri)) { // set namespace MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); // define pipeline Document agg = new Document("$search", new Document("autocomplete", new Document("path", "title").append("query", Arrays.asList("ger"))) .append("highlight", new Document("path", "title"))); // run pipeline and print results collection.aggregate(Arrays.asList(agg, limit(5), project(Document.parse("{score: {$meta: 'searchScore'}, _id: 0, title: 1, highlights: {$meta: 'searchHighlights'}}")))) .forEach(doc -> System.out.println(doc.toJson())); } } }
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
import com.mongodb.client.model.Aggregates.limit import com.mongodb.client.model.Aggregates.project import com.mongodb.client.model.Projections.* import com.mongodb.kotlin.client.coroutine.MongoClient import kotlinx.coroutines.runBlocking import org.bson.Document fun main() { val uri = "<connection-string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") runBlocking { val agg = Document( "\$search", Document("autocomplete", Document("path", "title") .append("query", listOf("ger")) ).append("highlight", Document("path", "title")) ) val resultsFlow = collection.aggregate<Document>( listOf( agg, limit(5), project(fields( excludeId(), include("title"), computed("score", Document("\$meta", "searchScore")), computed("highlights", Document("\$meta", "searchHighlights")) )) ) ) resultsFlow.collect { println(it) } } mongoClient.close() }
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
const { MongoClient } = require("mongodb"); // connect to your Atlas cluster const uri = "<connection-string>"; const client = new MongoClient(uri); async function run() { try { await client.connect(); // set namespace const database = client.db("sample_mflix"); const coll = database.collection("movies"); // define pipeline const agg = [ {$search: {autocomplete: {query: "ger", path: "title"}, highlight:{path: "title"}}}, {$limit: 5}, {$project: {score: {$meta: "searchScore"}, _id: 0,title: 1, highlights: {$meta: "searchHighlights"}}} ]; // run pipeline const result = coll.aggregate(agg); // print results result.forEach((doc) => console.dir(JSON.stringify(doc))); } finally { await client.close(); } } run().catch(console.dir);
クエリには以下が含まれます。
$limit
ステージを使用して、出力結果を5つに制限します。$project
stageを次のように設定します。ドキュメントのスコアを返します。
title
を除くすべてのフィールドを除外します。ハイライト情報を含む
highlights
という新しいフィールドを追加します。
import pymongo # connect to your Atlas cluster client = pymongo.MongoClient('<connection-string>') # define pipeline pipeline = [ {"$search":{"autocomplete": {"query": "ger", "path": "title"}, "highlight": {"path": "title"}}}, {"$limit": 5}, {"$project": {"score": {"$meta": "searchScore"},"_id": 0, "title": 1, "highlights": {"$meta": "searchHighlights"}}}, ] # run pipeline result = client["sample_mflix"]["movies"].aggregate(pipeline) # print results for i in result: print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 6.0822906494140625 _id: “573a1390f29313caabcd50e5” Gertie the Dinosaur Matching fields: title SCORE: 6.0822906494140625 _id: “573a1393f29313caabcddae1” Germany Year Zero Matching fields: title SCORE: 6.0822906494140625 _id: “573a1397f29313caabce6b75” Germany in Autumn Matching fields: title SCORE: 6.0822906494140625 _id: “573a1397f29313caabce77b5” Germany Pale Mother Matching fields: title SCORE: 6.0822906494140625 _id: “573a13d4f29313caabd99fa2” Gerhard Richter - Painting Matching fields: title SCORE: 6.018838405609131 _id: “573a1399f29313caabcedb50” Geronimo: An American Legend Matching fields: title SCORE: 5.825854301452637 _id: “573a139bf29313caabcf36bd” Geri's Game Matching fields: title SCORE: 5.777737617492676 _id: “573a13a5f29313caabd15dae” How to Live in the German Federal Republic Matching fields: title SCORE: 5.738928318023682 _id: “573a13b4f29313caabd41bb7” The Gerson Miracle Matching fields: title SCORE: 5.738928318023682 _id: “573a13d2f29313caabd922de” The German Doctor Matching fields: title
SCORE: 4.7550506591796875 _id: “573a139df29313caabcf9ed2” South Park: Bigger Longer & Uncut Matching fields: title SCORE: 4.568849563598633 _id: “573a13a7f29313caabd1addf” Roger Dodger Matching fields: title SCORE: 4.520683288574219 _id: “573a1391f29313caabcd8783” The Jazz Singer Matching fields: title SCORE: 4.520683288574219 _id: “573a1396f29313caabce3974” Love and Anger Matching fields: title SCORE: 4.520683288574219 _id: “573a1396f29313caabce5212” Save the Tiger Matching fields: title SCORE: 4.520683288574219 _id: “573a1397f29313caabce78da” The Jazz Singer Matching fields: title SCORE: 4.520683288574219 _id: “573a1398f29313caabce9be6” The Toxic Avenger Matching fields: title SCORE: 4.520683288574219 _id: “573a139af29313caabcf0f59” The Wedding Singer Matching fields: title SCORE: 4.520683288574219 _id: “573a139af29313caabcf1389” The Crazy Stranger Matching fields: title SCORE: 4.520683288574219 _id: “573a13abf29313caabd24b5a” Save the Tiger Matching fields: title
SCORE: 4.371164321899414 _id: “573a139df29313caabcf9ed2” South Park: Bigger Longer & Uncut Matching fields: title SCORE: 4.3067307472229 _id: “573a13bff29313caabd60a4a” Bigger Stronger Faster* Matching fields: title SCORE: 4.26673698425293 _id: “573a1398f29313caabcebb00” The Toxic Avenger Part II Matching fields: title SCORE: 4.26673698425293 _id: “573a1399f29313caabcee12e” When a Stranger Calls Back Matching fields: title SCORE: 4.26673698425293 _id: “573a13cff29313caabd89c2b” Carol Channing: Larger Than Life Matching fields: title SCORE: 4.2623162269592285 _id: “573a1396f29313caabce51c6” Property Is No Longer a Theft Matching fields: title SCORE: 4.2623162269592285 _id: “573a139af29313caabcef539” Mighty Morphin Power Rangers: The Movie Matching fields: title SCORE: 4.2623162269592285 _id: “573a13b1f29313caabd364e3” Josee, the Tiger and the Fish Matching fields: title SCORE: 4.253501892089844 _id: “573a13a5f29313caabd15dae” How to Live in the German Federal Republic Matching fields: title SCORE: 4.24910831451416 _id: “573a13a3f29313caabd0f07f” Into the Arms of Strangers: Stories of the Kindertransport Matching fields: title
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 { 2 title: 'Gertie the Dinosaur', 3 score: 6.085907459259033, 4 highlights: [{ 5 score: 0.9227690100669861, 6 path: 'title', 7 texts: [ { value: 'Gertie the Dinosaur', type: 'hit' } ] 8 }] 9 }, 10 { 11 title: 'Germany Year Zero', 12 score: 6.085907459259033, 13 highlights: [{ 14 score: 0.9180012345314026, 15 path: 'title', 16 texts: [ { value: 'Germany Year Zero', type: 'hit' } ] 17 }] 18 }, 19 { 20 title: 'Germany in Autumn', 21 score: 6.085907459259033, 22 highlights: [{ 23 score: 0.9180012345314026, 24 path: 'title', 25 texts: [ { value: 'Germany in Autumn', type: 'hit' } ] 26 }] 27 }, 28 { 29 title: 'Germany Pale Mother', 30 score: 6.085907459259033, 31 highlights: [{ 32 score: 0.9227690100669861, 33 path: 'title', 34 texts: [ { value: 'Germany Pale Mother', type: 'hit' } ] 35 }] 36 }, 37 { 38 title: 'Gerhard Richter - Painting', 39 score: 6.085907459259033, 40 highlights: [{ 41 score: 0.9386774897575378, 42 path: 'title', 43 texts: [ { value: 'Gerhard Richter - Painting', type: 'hit' } ] 44 }] 45 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 title: 'South Park: Bigger Longer & Uncut', 3 score: 4.807340621948242, 4 highlights: [{ 5 score: 0.6177878975868225, 6 path: 'title', 7 texts: [ 8 { value: 'South Park: Bigger Longer', type: 'hit' }, 9 { value: ' & Uncut', type: 'text' } ] 10 }] 11 }, 12 { 13 title: 'Roger Dodger', 14 score: 4.6073713302612305, 15 highlights: [{ 16 score: 0.905626654624939, 17 path: 'title', 18 texts: [ { value: 'Roger Dodger', type: 'hit' } ] 19 }] 20 }, 21 { 22 title: 'The Jazz Singer', 23 score: 4.577486038208008, 24 highlights: [{ 25 score: 0.9131305813789368, 26 path: 'title', 27 texts: [ { value: 'The Jazz Singer', type: 'hit' } ] 28 }] 29 }, 30 { 31 title: 'Love and Anger', 32 score: 4.577486038208008, 33 highlights: [{ 34 score: 0.9106559753417969, 35 path: 'title', 36 texts: [ { value: 'Love and Anger', type: 'hit' } ] 37 }] 38 }, 39 { 40 title: 'Save the Tiger', 41 score: 4.577486038208008, 42 highlights: [{ 43 score: 0.9106559753417969, 44 path: 'title', 45 texts: [ { value: 'Save the Tiger', type: 'hit' } ] 46 }] 47 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 title: 'South Park: Bigger Longer & Uncut', 3 score: 4.365298748016357, 4 highlights: [{ 5 score: 0.38510727882385254, 6 path: 'title', 7 texts: [ { value: 'South Park: Bigger Longer & Uncut', type: 'hit' } ] 8 }] 9 }, 10 { 11 title: 'Bigger Stronger Faster*', 12 score: 4.300583839416504, 13 highlights: [{ 14 score: 0.5282801985740662, 15 path: 'title', 16 texts: [ 17 { value: 'Bigger Stronger Faster', type: 'hit' }, 18 { value: '*', type: 'text' } 19 ] 20 }] 21 }, 22 { 23 title: 'The Toxic Avenger Part II', 24 score: 4.2650651931762695, 25 highlights: [{ 26 score: 0.5984020829200745, 27 path: 'title', 28 texts: [ { value: 'The Toxic Avenger Part II', type: 'hit' } ] 29 }] 30 }, 31 { 32 title: 'When a Stranger Calls Back', 33 score: 4.2650651931762695, 34 highlights: [{ 35 score: 0.6008684039115906, 36 path: 'title', 37 texts: [ { value: 'When a Stranger Calls Back', type: 'hit' } ] 38 }] 39 }, 40 { 41 title: 'Carol Channing: Larger Than Life', 42 score: 4.2650651931762695, 43 highlights: [{ 44 score: 0.6154072880744934, 45 path: 'title', 46 texts: [ { value: 'Carol Channing: Larger Than Life', type: 'hit' } ] 47 }] 48 }
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 title: 'Gertie the Dinosaur', 3 score: 6.085907459259033, 4 highlights: [{ 5 score: 0.9227690100669861, 6 path: 'title', 7 texts: [ { value: 'Gertie the Dinosaur', type: 'hit' } ] 8 }] 9 }, 10 { 11 title: 'Germany Year Zero', 12 score: 6.085907459259033, 13 highlights: [{ 14 score: 0.9180012345314026, 15 path: 'title', 16 texts: [ { value: 'Germany Year Zero', type: 'hit' } ] 17 }] 18 }, 19 { 20 title: 'Germany in Autumn', 21 score: 6.085907459259033, 22 highlights: [{ 23 score: 0.9180012345314026, 24 path: 'title', 25 texts: [ { value: 'Germany in Autumn', type: 'hit' } ] 26 }] 27 }, 28 { 29 title: 'Germany Pale Mother', 30 score: 6.085907459259033, 31 highlights: [{ 32 score: 0.9227690100669861, 33 path: 'title', 34 texts: [ { value: 'Germany Pale Mother', type: 'hit' } ] 35 }] 36 }, 37 { 38 title: 'Gerhard Richter - Painting', 39 score: 6.085907459259033, 40 highlights: [{ 41 score: 0.9386774897575378, 42 path: 'title', 43 texts: [ { value: 'Gerhard Richter - Painting', type: 'hit' } ] 44 }] 45 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 title: 'South Park: Bigger Longer & Uncut', 3 score: 4.807340621948242, 4 highlights: [{ 5 score: 0.6177878975868225, 6 path: 'title', 7 texts: [ 8 { value: 'South Park: Bigger Longer', type: 'hit' }, 9 { value: ' & Uncut', type: 'text' } ] 10 }] 11 }, 12 { 13 title: 'Roger Dodger', 14 score: 4.6073713302612305, 15 highlights: [{ 16 score: 0.905626654624939, 17 path: 'title', 18 texts: [ { value: 'Roger Dodger', type: 'hit' } ] 19 }] 20 }, 21 { 22 title: 'The Jazz Singer', 23 score: 4.577486038208008, 24 highlights: [{ 25 score: 0.9131305813789368, 26 path: 'title', 27 texts: [ { value: 'The Jazz Singer', type: 'hit' } ] 28 }] 29 }, 30 { 31 title: 'Love and Anger', 32 score: 4.577486038208008, 33 highlights: [{ 34 score: 0.9106559753417969, 35 path: 'title', 36 texts: [ { value: 'Love and Anger', type: 'hit' } ] 37 }] 38 }, 39 { 40 title: 'Save the Tiger', 41 score: 4.577486038208008, 42 highlights: [{ 43 score: 0.9106559753417969, 44 path: 'title', 45 texts: [ { value: 'Save the Tiger', type: 'hit' } ] 46 }] 47 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 title: 'South Park: Bigger Longer & Uncut', 3 score: 4.365298748016357, 4 highlights: [{ 5 score: 0.38510727882385254, 6 path: 'title', 7 texts: [ { value: 'South Park: Bigger Longer & Uncut', type: 'hit' } ] 8 }] 9 }, 10 { 11 title: 'Bigger Stronger Faster*', 12 score: 4.300583839416504, 13 highlights: [{ 14 score: 0.5282801985740662, 15 path: 'title', 16 texts: [ 17 { value: 'Bigger Stronger Faster', type: 'hit' }, 18 { value: '*', type: 'text' } 19 ] 20 }] 21 }, 22 { 23 title: 'The Toxic Avenger Part II', 24 score: 4.2650651931762695, 25 highlights: [{ 26 score: 0.5984020829200745, 27 path: 'title', 28 texts: [ { value: 'The Toxic Avenger Part II', type: 'hit' } ] 29 }] 30 }, 31 { 32 title: 'When a Stranger Calls Back', 33 score: 4.2650651931762695, 34 highlights: [{ 35 score: 0.6008684039115906, 36 path: 'title', 37 texts: [ { value: 'When a Stranger Calls Back', type: 'hit' } ] 38 }] 39 }, 40 { 41 title: 'Carol Channing: Larger Than Life', 42 score: 4.2650651931762695, 43 highlights: [{ 44 score: 0.6154072880744934, 45 path: 'title', 46 texts: [ { value: 'Carol Channing: Larger Than Life', type: 'hit' } ] 47 }] 48 }
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { "title" : "Gertie the Dinosaur", "highlights" : [{ "path" : "title", "score" : 0.92276901006698608, "texts" : [{ "type" : "Hit", "value" : "Gertie the Dinosaur" }] }], "score" : 6.0822906494140625 } 2 { "title" : "Germany Year Zero", "highlights" : [{ "path" : "title", "score" : 0.91800123453140259, "texts" : [{ "type" : "Hit", "value" : "Germany Year Zero" }] }], "score" : 6.0822906494140625 } 3 { "title" : "Germany in Autumn", "highlights" : [{ "path" : "title", "score" : 0.91800123453140259, "texts" : [{ "type" : "Hit", "value" : "Germany in Autumn" }] }], "score" : 6.0822906494140625 } 4 { "title" : "Germany Pale Mother", "highlights" : [{ "path" : "title", "score" : 0.92276901006698608, "texts" : [{ "type" : "Hit", "value" : "Germany Pale Mother" }] }], "score" : 6.0822906494140625 } 5 { "title" : "Gerhard Richter - Painting", "highlights" : [{ "path" : "title", "score" : 0.93867748975753784, "texts" : [{ "type" : "Hit", "value" : "Gerhard Richter - Painting" }] }], "score" : 6.0822906494140625 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { "title" : "South Park: Bigger Longer & Uncut", "highlights" : [{ "path" : "title", "score" : 0.61778789758682251, "texts" : [{ "type" : "Hit", "value" : "South Park: Bigger Longer" }, { "type" : "Text", "value" : " & Uncut" }] }], "score" : 4.7550506591796875 } 2 { "title" : "Roger Dodger", "highlights" : [{ "path" : "title", "score" : 0.90562665462493896, "texts" : [{ "type" : "Hit", "value" : "Roger Dodger" }] }], "score" : 4.5688495635986328 } 3 { "title" : "The Jazz Singer", "highlights" : [{ "path" : "title", "score" : 0.91313058137893677, "texts" : [{ "type" : "Hit", "value" : "The Jazz Singer" }] }], "score" : 4.5206832885742188 } 4 { "title" : "Love and Anger", "highlights" : [{ "path" : "title", "score" : 0.91065597534179688, "texts" : [{ "type" : "Hit", "value" : "Love and Anger" }] }], "score" : 4.5206832885742188 } 5 { "title" : "Save the Tiger", "highlights" : [{ "path" : "title", "score" : 0.91065597534179688, "texts" : [{ "type" : "Hit", "value" : "Save the Tiger" }] }], "score" : 4.5206832885742188 }
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { "title" : "South Park: Bigger Longer & Uncut", "highlights" : [{ "path" : "title", "score" : 0.38510727882385254, "texts" : [{ "type" : "Hit", "value" : "South Park: Bigger Longer & Uncut" }] }], "score" : 4.3711643218994141 } 2 { "title" : "Bigger Stronger Faster*", "highlights" : [{ "path" : "title", "score" : 0.52828019857406616, "texts" : [{ "type" : "Hit", "value" : "Bigger Stronger Faster" }, { "type" : "Text", "value" : "*" }] }], "score" : 4.3067307472229004 } 3 { "title" : "The Toxic Avenger Part II", "highlights" : [{ "path" : "title", "score" : 0.59840208292007446, "texts" : [{ "type" : "Hit", "value" : "The Toxic Avenger Part II" }] }], "score" : 4.2667369842529297 } 4 { "title" : "When a Stranger Calls Back", "highlights" : [{ "path" : "title", "score" : 0.60086840391159058, "texts" : [{ "type" : "Hit", "value" : "When a Stranger Calls Back" }] }], "score" : 4.2667369842529297 } 5 { "title" : "Carol Channing: Larger Than Life", "highlights" : [{ "path" : "title", "score" : 0.61540728807449341, "texts" : [{ "type" : "Hit", "value" : "Carol Channing: Larger Than Life" }] }], "score" : 4.2667369842529297 }
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 [ 2 {title Gertie the Dinosaur} 3 {score 6.085907459259033} 4 {highlight [[ 5 {score 0.9227690100669861} 6 {path title} 7 {texts [[{value Gertie the Dinosaur} {type hit}]]}]]}] 8 [ 9 {title Germany Year Zero} 10 {score 6.085907459259033} 11 {highlight [[ 12 {score 0.9180012345314026} 13 {path title} 14 {texts [[{value Germany Year Zero} {type hit}]]}]]}] 15 [ 16 {title Germany in Autumn} 17 {score 6.085907459259033} 18 {highlight [[ 19 {score 0.9180012345314026} 20 {path title} 21 {texts [[{value Germany in Autumn} {type hit}]]}]]}] 22 [ 23 {title Germany Pale Mother} 24 {score 6.085907459259033} 25 {highlight [[ 26 {score 0.9227690100669861} 27 {path title} 28 {texts [[{value Germany Pale Mother} {type hit}]]}]]}] 29 [ 30 {title Gerhard Richter - Painting} 31 {score 6.085907459259033} 32 {highlight [[ 33 {score 0.9386774897575378} 34 {path title} 35 {texts [[{value Gerhard Richter - Painting} {type hit}]]}]]}]
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 [ 2 {title South Park: Bigger Longer & Uncut} 3 {score 4.807340621948242} 4 {highlight [[ 5 {score 0.6177878975868225} 6 {path title} 7 {texts [[{value South Park: Bigger Longer} {type hit}] [{value & Uncut} {type text}]]}]]}] 8 [ 9 {title Roger Dodger} 10 {score 4.6073713302612305} 11 {highlight [[ 12 {score 0.905626654624939} 13 {path title} 14 {texts [[{value Roger Dodger} {type hit}]]}]]}] 15 [ 16 {title The Jazz Singer} 17 {score 4.577486038208008} 18 {highlight [[ 19 {score 0.9131305813789368} 20 {path title} 21 {texts [[{value The Jazz Singer} {type hit}]]}]]}] 22 [ 23 {title Love and Anger} 24 {score 4.577486038208008} 25 {highlight [[ 26 {score 0.9106559753417969} 27 {path title} 28 {texts [[{value Love and Anger} {type hit}]]}]]}] 29 [ 30 {title Save the Tiger} 31 {score 4.577486038208008} 32 {highlight [[ 33 {score 0.9106559753417969} 34 {path title} 35 {texts [[{value Save the Tiger} {type hit}]]}]]}]
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 [ 2 {title South Park: Bigger Longer & Uncut} 3 {score 4.365298748016357} 4 {highlight [[ 5 {score 0.38510727882385254} 6 {path title} 7 {texts [[{value South Park: Bigger Longer & Uncut} {type hit}]]}]]}] 8 [ 9 {title Bigger Stronger Faster*} { 10 score 4.300583839416504} 11 {highlight [[ 12 {score 0.5282801985740662} 13 {path title} 14 {texts [[{value Bigger Stronger Faster} {type hit}] [{value *} {type text}]]}]]}] 15 [ 16 {title The Toxic Avenger Part II} 17 {score 4.2650651931762695} 18 {highlight [[ 19 {score 0.5984020829200745} 20 {path title} 21 {texts [[{value The Toxic Avenger Part II} {type hit}]]}]]}] 22 [ 23 {title When a Stranger Calls Back} 24 {score 4.2650651931762695} 25 {highlight [[ 26 {score 0.6008684039115906} 27 {path title} 28 {texts [[{value When a Stranger Calls Back} {type hit}]]}]]}] 29 [ 30 {title Carol Channing: Larger Than Life} 31 {score 4.2650651931762695} 32 {highlight [[ 33 {score 0.6154072880744934} 34 {path title} 35 {texts [[{value Carol Channing: Larger Than Life} {type hit}]]}]]}]
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 "title": "Gertie the Dinosaur", 3 "score": 6.085907459259033, 4 "highlights": [{ 5 "score": 0.9227690100669861, 6 "path": "title", 7 "texts": [{"value": "Gertie the Dinosaur", "type": "hit"}]}]} 8 { 9 "title": "Germany Year Zero", 10 "score": 6.085907459259033, 11 "highlights": [{ 12 "score": 0.9180012345314026, 13 "path": "title", 14 "texts": [{"value": "Germany Year Zero", "type": "hit"}]}]} 15 { 16 "title": "Germany in Autumn", 17 "score": 6.085907459259033, 18 "highlights": [{ 19 "score": 0.9180012345314026, 20 "path": "title", 21 "texts": [{"value": "Germany in Autumn", "type": "hit"}]}]} 22 { 23 "title": "Germany Pale Mother", 24 "score": 6.085907459259033, 25 "highlights": [{ 26 "score": 0.9227690100669861, 27 "path": "title", 28 "texts": [{"value": "Germany Pale Mother", "type": "hit"}]}]} 29 { 30 "title": "Gerhard Richter - Painting", 31 "score": 6.085907459259033, 32 "highlights": [{ 33 "score": 0.9386774897575378, 34 "path": "title", 35 "texts": [{"value": "Gerhard Richter - Painting", "type": "hit"}]}]}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 "title": "South Park: Bigger Longer & Uncut", 3 "score": 4.807340621948242, 4 "highlights": [{ 5 "score": 0.6177878975868225, 6 "path": "title", 7 "texts": [{"value": "South Park: Bigger Longer", "type": "hit"}, {"value": " & Uncut", "type": "text"}]}]} 8 { 9 "title": "Roger Dodger", 10 "score": 4.6073713302612305, 11 "highlights": [{ 12 "score": 0.905626654624939, 13 "path": "title", 14 "texts": [{"value": "Roger Dodger", "type": "hit"}]}]} 15 { 16 "title": "The Jazz Singer", 17 "score": 4.577486038208008, 18 "highlights": [{ 19 "score": 0.9131305813789368, 20 "path": "title", 21 "texts": [{"value": "The Jazz Singer", "type": "hit"}]}]} 22 { 23 "title": "Love and Anger", 24 "score": 4.577486038208008, 25 "highlights": [{ 26 "score": 0.9106559753417969, 27 "path": "title", 28 "texts": [{"value": "Love and Anger", "type": "hit"}]}]} 29 { 30 "title": "Save the Tiger", 31 "score": 4.577486038208008, 32 "highlights": [{ 33 "score": 0.9106559753417969, 34 "path": "title", 35 "texts": [{"value": "Save the Tiger", "type": "hit"}]}]}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 "title": "South Park: Bigger Longer & Uncut", 3 "score": 4.365298748016357, 4 "highlights": [{ 5 "score": 0.38510727882385254, 6 "path": "title", 7 "texts": [{"value": "South Park: Bigger Longer & Uncut", "type": "hit"}]}]} 8 { 9 "title": "Bigger Stronger Faster*", 10 "score": 4.300583839416504, 11 "highlights": [{ 12 "score": 0.5282801985740662, 13 "path": "title", 14 "texts": [{"value": "Bigger Stronger Faster", "type": "hit"}, {"value": "*", "type": "text"}]}]} 15 { 16 "title": "The Toxic Avenger Part II", 17 "score": 4.2650651931762695, 18 "highlights": [{ 19 "score": 0.5984020829200745, 20 "path": "title", 21 "texts": [{"value": "The Toxic Avenger Part II", "type": "hit"}]}]} 22 { 23 "title": "When a Stranger Calls Back", 24 "score": 4.2650651931762695, 25 "highlights": [{ 26 "score": 0.6008684039115906, 27 "path": "title", 28 "texts": [{"value": "When a Stranger Calls Back", "type": "hit"}]}]} 29 { 30 "title": "Carol Channing: Larger Than Life", 31 "score": 4.2650651931762695, 32 "highlights": [{ 33 "score": 0.6154072880744934, 34 "path": "title", 35 "texts": [{"value": "Carol Channing: Larger Than Life", "type": "hit"}]}]}
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 Document{{title=Germany in Autumn, score=6.160550117492676, highlights=[Document{{score=0.9180012345314026, path=title, texts=[Document{{value=Germany in Autumn, type=hit}}]}}]}} 2 Document{{title=Gertie the Dinosaur, score=6.160550117492676, highlights=[Document{{score=0.9227690100669861, path=title, texts=[Document{{value=Gertie the Dinosaur, type=hit}}]}}]}} 3 Document{{title=Germany Pale Mother, score=6.160550117492676, highlights=[Document{{score=0.9227690100669861, path=title, texts=[Document{{value=Germany Pale Mother, type=hit}}]}}]}} 4 Document{{title=Geronimo: An American Legend, score=6.096138954162598, highlights=[Document{{score=0.9430088996887207, path=title, texts=[Document{{value=Geronimo: An American, type=hit}}, Document{{value= Legend, type=text}}]}}]}} 5 Document{{title=Geri's Game, score=5.900832176208496, highlights=[Document{{score=1.1180211305618286, path=title, texts=[Document{{value=Geri's Game, type=hit}}]}}]}}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 Document{{title=South Park: Bigger Longer & Uncut, score=4.770905017852783, highlights=[Document{{score=0.6177878975868225, path=title, texts=[Document{{value=South Park: Bigger Longer, type=hit}}, Document{{value= & Uncut, type=text}}]}}]}} 2 Document{{title=Roger Dodger, score=4.584150791168213, highlights=[Document{{score=0.905626654624939, path=title, texts=[Document{{value=Roger Dodger, type=hit}}]}}]}} 3 Document{{title=The Crazy Stranger, score=4.535715103149414, highlights=[Document{{score=0.9203977584838867, path=title, texts=[Document{{value=The Crazy Stranger, type=hit}}]}}]}} 4 Document{{title=The Ring Finger, score=4.535715103149414, highlights=[Document{{score=0.9131305813789368, path=title, texts=[Document{{value=The Ring Finger, type=hit}}]}}]}} 5 Document{{title=Shoot the Messenger, score=4.535715103149414, highlights=[Document{{score=0.9227690100669861, path=title, texts=[Document{{value=Shoot the Messenger, type=hit}}]}}]}}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 Document{{title=South Park: Bigger Longer & Uncut, score=4.395573139190674, highlights=[Document{{score=0.38510727882385254, path=title, texts=[Document{{value=South Park: Bigger Longer & Uncut, type=hit}}]}}]}} 2 Document{{title=Bigger Stronger Faster*, score=4.33078145980835, highlights=[Document{{score=0.5282801985740662, path=title, texts=[Document{{value=Bigger Stronger Faster, type=hit}}, Document{{value=*, type=text}}]}}]}} 3 Document{{title=The Toxic Avenger Part II, score=4.2905426025390625, highlights=[Document{{score=0.5984020829200745, path=title, texts=[Document{{value=The Toxic Avenger Part II, type=hit}}]}}]}} 4 Document{{title=Carol Channing: Larger Than Life, score=4.2905426025390625, highlights=[Document{{score=0.6154072880744934, path=title, texts=[Document{{value=Carol Channing: Larger Than Life, type=hit}}]}}]}} 5 Document{{title=When a Stranger Calls Back, score=4.2905426025390625, highlights=[Document{{score=0.6008684039115906, path=title, texts=[Document{{value=When a Stranger Calls Back, type=hit}}]}}]}}
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 '{ 2 "title":"Gertie the Dinosaur", 3 "score":6.0822906494140625, 4 "highlights":[{ 5 "score":0.9227690100669861, 6 "path":"title", 7 "texts":[{"value":"Gertie the Dinosaur","type":"hit"}]}]}' 8 '{ 9 "title":"Germany Year Zero", 10 "score":6.0822906494140625, 11 "highlights":[{ 12 "score":0.9180012345314026, 13 "path":"title", 14 "texts":[{"value":"Germany Year Zero","type":"hit"}]}]}' 15 '{ 16 "title":"Germany in Autumn", 17 "score":6.0822906494140625, 18 "highlights":[{ 19 "score":0.9180012345314026, 20 "path":"title", 21 "texts":[{"value":"Germany in Autumn","type":"hit"}]}]}' 22 '{ 23 "title":"Germany Pale Mother", 24 "score":6.0822906494140625, 25 "highlights":[{ 26 "score":0.9227690100669861, 27 "path":"title", 28 "texts":[{"value":"Germany Pale Mother","type":"hit"}]}]}' 29 '{ 30 "title":"Gerhard Richter - Painting", 31 "score":6.0822906494140625, 32 "highlights":[{ 33 "score":0.9386774897575378, 34 "path":"title", 35 "texts":[{"value":"Gerhard Richter - Painting","type":"hit"}]}]}'
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 '{ 2 "title":"South Park: Bigger Longer & Uncut", 3 "score":4.7550506591796875, 4 "highlights":[{ 5 "score":0.6177878975868225, 6 "path":"title", 7 "texts":[{"value":"South Park: Bigger Longer","type":"hit"},{"value":" & Uncut","type":"text"}]}]}' 8 '{ 9 "title":"Roger Dodger", 10 "score":4.568849563598633, 11 "highlights":[{ 12 "score":0.905626654624939, 13 "path":"title", 14 "texts":[{"value":"Roger Dodger","type":"hit"}]}]}' 15 '{ 16 "title":"The Jazz Singer", 17 "score":4.520683288574219, 18 "highlights":[{ 19 "score":0.9131305813789368, 20 "path":"title", 21 "texts":[{"value":"The Jazz Singer","type":"hit"}]}]}' 22 '{ 23 "title":"Love and Anger", 24 "score":4.520683288574219, 25 "highlights":[{ 26 "score":0.9106559753417969, 27 "path":"title", 28 "texts":[{"value":"Love and Anger","type":"hit"}]}]}' 29 '{ 30 "title":"Save the Tiger", 31 "score":4.520683288574219, 32 "highlights":[{ 33 "score":0.9106559753417969, 34 "path":"title", 35 "texts":[{"value":"Save the Tiger","type":"hit"}]}]}'
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 '{ 2 "title":"South Park: Bigger Longer & Uncut", 3 "score":4.371164321899414, 4 "highlights":[{ 5 "score":0.38510727882385254, 6 "path":"title", 7 "texts":[{"value":"South Park: Bigger Longer & Uncut","type":"hit"}]}]}' 8 '{ 9 "title":"Bigger Stronger Faster*", 10 "score":4.3067307472229, 11 "highlights":[{ 12 "score":0.5282801985740662, 13 "path":"title", 14 "texts":[{"value":"Bigger Stronger Faster","type":"hit"},{"value":"*","type":"text"}]}]}' 15 '{ 16 "title":"The Toxic Avenger Part II", 17 "score":4.26673698425293, 18 "highlights":[{ 19 "score":0.5984020829200745, 20 "path":"title", 21 "texts":[{"value":"The Toxic Avenger Part II","type":"hit"}]}]}' 22 '{ 23 "title":"When a Stranger Calls Back", 24 "score":4.26673698425293, 25 "highlights":[{ 26 "score":0.6008684039115906, 27 "path":"title", 28 "texts":[{"value":"When a Stranger Calls Back","type":"hit"}]}]}' 29 '{ 30 "title":"Carol Channing: Larger Than Life", 31 "score":4.26673698425293, 32 "highlights":[{ 33 "score":0.6154072880744934, 34 "path":"title", 35 "texts":[{"value":"Carol Channing: Larger Than Life","type":"hit"}]}]}'
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 'highlights': [{ 3 'path': 'title', 4 'score': 0.9227690100669861, 5 'texts': [{'type': 'hit', 'value': 'Gertie the Dinosaur'}]}], 6 'score': 6.085907459259033, 7 'title': 'Gertie the Dinosaur'} 8 { 9 'highlights': [{ 10 'path': 'title', 11 'score': 0.9180012345314026, 12 'texts': [{'type': 'hit', 'value': 'Germany Year Zero'}]}], 13 'score': 6.085907459259033, 14 'title': 'Germany Year Zero'} 15 { 16 'highlights': [{ 17 'path': 'title', 18 'score': 0.9180012345314026, 19 'texts': [{'type': 'hit', 'value': 'Germany in Autumn'}]}], 20 'score': 6.085907459259033, 21 'title': 'Germany in Autumn'} 22 { 23 'highlights': [{ 24 'path': 'title', 25 'score': 0.9227690100669861, 26 'texts': [{'type': 'hit', 'value': 'Germany Pale Mother'}]}], 27 'score': 6.085907459259033, 28 'title': 'Germany Pale Mother'} 29 { 30 'highlights': [{ 31 'path': 'title', 32 'score': 0.9386774897575378, 33 'texts': [{'type': 'hit', 'value': 'Gerhard Richter - Painting'}]}], 34 'score': 6.085907459259033, 35 'title': 'Gerhard Richter - Painting'}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の左側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 'highlights': [{ 3 'path': 'title', 4 'score': 0.6177878975868225, 5 'texts': [{'type': 'hit', 'value': 'South Park: Bigger Longer'}, {'type': 'text', 'value': ' & Uncut'}]}], 6 'score': 4.807340621948242, 7 'title': 'South Park: Bigger Longer & Uncut'} 8 { 9 'highlights': [{ 10 'path': 'title', 11 'score': 0.905626654624939, 12 'texts': [{'type': 'hit', 'value': 'Roger Dodger'}]}], 13 'score': 4.6073713302612305, 14 'title': 'Roger Dodger'} 15 { 16 'highlights': [{ 17 'path': 'title', 18 'score': 0.9131305813789368, 19 'texts': [{'type': 'hit', 'value': 'The Jazz Singer'}]}], 20 'score': 4.577486038208008, 21 'title': 'The Jazz Singer'} 22 { 23 'highlights': [{ 24 'path': 'title', 25 'score': 0.9106559753417969, 26 'texts': [{'type': 'hit', 'value': 'Love and Anger'}]}], 27 'score': 4.577486038208008, 28 'title': 'Love and Anger'} 29 { 30 'highlights': [{ 31 'path': 'title', 32 'score': 0.9106559753417969, 33 'texts': [{'type': 'hit', 'value': 'Save the Tiger'}]}], 34 'score': 4.577486038208008, 35 'title': 'Save the Tiger'}
Atlas Search がこれらの結果を返すのは、すべてのタイトルの単語の右側に文字ger
が出現するためです。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
1 { 2 'highlights': [{ 3 'path': 'title', 4 'score': 0.38510727882385254, 5 'texts': [{'type': 'hit', 'value': 'South Park: Bigger Longer & Uncut'}]}], 6 'score': 4.365298748016357, 7 'title': 'South Park: Bigger Longer & Uncut'} 8 { 9 'highlights': [{ 10 'path': 'title', 11 'score': 0.5282801985740662, 12 'texts':[{'type': 'hit', 'value': 'Bigger Stronger Faster'}, {'type': 'text', 'value': '*'}]}], 13 'score': 4.300583839416504, 14 'title': 'Bigger Stronger Faster*'} 15 { 16 'highlights': [{ 17 'path': 'title', 18 'score': 0.5984020829200745, 19 'texts': [{'type': 'hit', 'value': 'The Toxic Avenger Part II'}]}], 20 'score': 4.2650651931762695, 21 'title': 'The Toxic Avenger Part II'} 22 { 23 'highlights': [{ 24 'path': 'title', 25 'score': 0.6008684039115906, 26 'texts': [{'type': 'hit', 'value': 'When a Stranger Calls Back'}]}], 27 'score': 4.2650651931762695, 28 'title': 'When a Stranger Calls Back'} 29 { 30 'highlights': [{ 31 'path': 'title', 32 'score': 0.6154072880744934, 33 'texts': [{'type': 'hit', 'value': 'Carol Channing: Larger Than Life'}]}], 34 'score': 4.2650651931762695, 35 'title': 'Carol Channing: Larger Than Life'}
文字ger
がタイトル内の異なる位置に出現するため、Atlas Search は、これらの結果を返します。強調表示されたパスが強調表示されたクエリのオペレーターでのみ参照されている場合、Atlas Search は強調表示されたhit
を、より大まかにクエリタームと一致させます。
複数のフィールドにわたる検索
次のクエリは、複合演算子を使用して、movies
コレクションのtitle
フィールドと plot
フィールドで、文字列inter
で始まる単語を検索します。
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { $search: { compound: { should: [ { autocomplete: { query: "inter", path: "title" } }, { autocomplete: { query: "inter", path: "plot" } } ], minimumShouldMatch: 1 } } } ]
クエリには以下が含まれます。
1 db.movies.aggregate([ 2 { 3 $search: { 4 "compound": { 5 "should": [ 6 { 7 "autocomplete": { 8 "query": "inter", 9 "path": "title", 10 }, 11 }, 12 { 13 "autocomplete": { 14 "query": "inter", 15 "path": "plot" 16 } 17 } 18 ], 19 "minimumShouldMatch": 1 20 }, 21 }, 22 }, 23 { 24 $limit: 10, 25 }, 26 { 27 $project: 28 { 29 "_id": 0, 30 "title": 1, 31 "plot": 1 32 }, 33 }, 34 ])
クエリには以下が含まれます。
movies
コレクションのAggregationsタブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次の各パイプライン ステージを構成します。 ステージを追加するには、 Add Stageをクリックします。
パイプラインステージ | クエリ | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||
|
| |||||||||||||||||
|
|
クエリには以下が含まれます。
1 using MongoDB.Bson; 2 using MongoDB.Bson.Serialization.Attributes; 3 using MongoDB.Bson.Serialization.Conventions; 4 using MongoDB.Driver; 5 using MongoDB.Driver.Search; 6 7 public class AutocompleteCompoundExample 8 { 9 private const string MongoConnectionString = "<connection-string>"; 10 11 public static void Main(string[] args) 12 { 13 // allow automapping of the camelCase database fields to our MovieDocument 14 var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; 15 ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); 16 17 // connect to your Atlas cluster 18 var mongoClient = new MongoClient(MongoConnectionString); 19 var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); 20 var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); 21 22 // define and run pipeline 23 var results = moviesCollection.Aggregate() 24 .Search(Builders<MovieDocument>.Search.Compound() 25 .Should(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "inter")) 26 .Should(Builders<MovieDocument>.Search.Autocomplete(movie => movie.Plot, "inter"))) 27 .Project<MovieDocument>(Builders<MovieDocument>.Projection 28 .Include(movie => movie.Plot) 29 .Include(movie => movie.Title) 30 .Exclude(movie => movie.Id)) 31 .Limit(10) 32 .ToList(); 33 34 // print results 35 foreach (var movie in results) 36 { 37 Console.WriteLine(movie.ToJson()); 38 } 39 } 40 } 41 42 [ ]43 public class MovieDocument 44 { 45 [ ]46 public ObjectId Id { get; set; } 47 public string Plot { get; set; } 48 public string Title { get; set; } 49 }
クエリには以下が含まれます。
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.mongodb.org/mongo-driver/v2/bson" 8 "go.mongodb.org/mongo-driver/v2/mongo" 9 "go.mongodb.org/mongo-driver/v2/mongo/options" 10 ) 11 12 func main() { 13 // connect to your Atlas cluster 14 client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) 15 if err != nil { 16 panic(err) 17 } 18 defer client.Disconnect(context.TODO()) 19 20 // set namespace 21 collection := client.Database("sample_mflix").Collection("movies") 22 23 // define pipeline stages 24 searchStage := bson.D{ 25 {Key: "$search", Value: bson.D{ 26 {Key: "compound", Value: bson.D{ 27 {Key: "should", Value: bson.A{ 28 bson.D{ 29 {Key: "autocomplete", Value: bson.D{{Key: "query", Value: "inter"}, {Key: "path", Value: "title"}}}, 30 }, 31 bson.D{ 32 {Key: "autocomplete", Value: bson.D{{Key: "query", Value: "inter"}, {Key: "path", Value: "plot"}}}, 33 }, 34 }}, 35 {Key: "minimumShouldMatch", Value: 1}, 36 }}, 37 }}, 38 } 39 limitStage := bson.D{{Key: "$limit", Value: 10}} 40 projectStage := bson.D{{Key: "$project", Value: bson.D{{Key: "title", Value: 1}, {Key: "plot", Value: 1}, {Key: "_id", Value: 0}}}} 41 // run pipeline 42 cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchStage, limitStage, projectStage}) 43 if err != nil { 44 panic(err) 45 } 46 47 // print results 48 var results []bson.D 49 if err = cursor.All(context.TODO(), &results); err != nil { 50 panic(err) 51 } 52 for _, result := range results { 53 fmt.Println(result) 54 } 55 }
クエリには以下が含まれます。
1 import static com.mongodb.client.model.Aggregates.limit; 2 import static com.mongodb.client.model.Aggregates.project; 3 import static com.mongodb.client.model.Projections.excludeId; 4 import static com.mongodb.client.model.Projections.fields; 5 import static com.mongodb.client.model.Projections.include; 6 import com.mongodb.client.MongoClient; 7 import com.mongodb.client.MongoClients; 8 import com.mongodb.client.MongoCollection; 9 import com.mongodb.client.MongoDatabase; 10 import org.bson.Document; 11 import java.util.Arrays; 12 13 public class AutocompleteQuery { 14 15 public static void main(String[] args) { 16 // connect to your Atlas cluster 17 String uri = "<connection-string>"; 18 19 try (MongoClient mongoClient = MongoClients.create(uri)) { 20 // set namespace 21 MongoDatabase database = mongoClient.getDatabase("sample_mflix"); 22 MongoCollection<Document> collection = database.getCollection("movies"); 23 24 // define pipeline 25 Document agg = new Document(new Document("should", Arrays.asList(new Document("autocomplete", 26 new Document("path", "title") 27 .append("query", "inter")), 28 new Document("autocomplete", 29 new Document("path", "plot") 30 .append("query", "inter")))) 31 .append("minimumShouldMatch", 1L)); 32 33 // run pipeline and print results 34 collection.aggregate(Arrays.asList( 35 eq("$search", eq("compound", agg)), 36 limit(10), 37 project(fields(excludeId(), include("title"))))).forEach(doc -> System.out.println(doc.toJson())); 38 } 39 } 40 }
クエリには以下が含まれます。
1 import com.mongodb.client.model.Aggregates.limit 2 import com.mongodb.client.model.Aggregates.project 3 import com.mongodb.client.model.Filters.eq 4 import com.mongodb.client.model.Projections.* 5 import com.mongodb.kotlin.client.coroutine.MongoClient 6 import kotlinx.coroutines.runBlocking 7 import org.bson.Document 8 9 fun main() { 10 val uri = "<connection-string>" 11 val mongoClient = MongoClient.create(uri) 12 val database = mongoClient.getDatabase("sample_mflix") 13 val collection = database.getCollection<Document>("movies") 14 15 runBlocking { 16 val agg = Document( 17 Document( 18 "should", listOf( 19 Document( 20 "autocomplete", 21 Document("path", "title") 22 .append("query", "inter") 23 ), 24 Document( 25 "autocomplete", 26 Document("path", "plot") 27 .append("query", "inter") 28 ) 29 ) 30 ).append("minimumShouldMatch", 1L) 31 ) 32 33 val resultsFlow = collection.aggregate<Document>( 34 listOf( 35 eq("\$search", eq("compound", agg)), 36 limit(10), 37 project(fields(excludeId(), include("title", "plot"))) 38 ) 39 ) 40 resultsFlow.collect { println(it) } 41 } 42 mongoClient.close() 43 }
クエリには以下が含まれます。
1 const { MongoClient } = require("mongodb"); 2 3 // connect to your Atlas cluster 4 const uri = 5 "<connection-string>"; 6 7 const client = new MongoClient(uri); 8 9 async function run() { 10 try { 11 await client.connect(); 12 13 // set namespace 14 const database = client.db("sample_mflix"); 15 const coll = database.collection("movies"); 16 17 // define pipeline 18 const agg = [ 19 { 20 '$search': { 21 'compound': { 22 'should': [ 23 { 24 'autocomplete': { 25 'query': 'inter', 26 'path': 'title' 27 } 28 }, 29 { 30 'autocomplete': { 31 'query': 'inter', 32 'path': 'plot' 33 } 34 } 35 ], 36 'minimumShouldMatch': 1 37 } 38 } 39 }, 40 { 41 '$limit': 10 42 }, 43 { 44 '$project': { 45 '_id': 0, 46 'title': 1, 47 'plot': 1 48 } 49 } 50 ]; 51 // run pipelines 52 const result = await coll.aggregate(agg); 53 54 // print results 55 await result.forEach((doc) => console.log(doc)); 56 } finally { 57 await client.close(); 58 } 59 } 60 run().catch(console.dir);
クエリには以下が含まれます。
1 import pymongo 2 3 # connect to your Atlas cluster 4 client = pymongo.MongoClient('<connection-string>') 5 6 # define pipeline 7 pipeline = [ 8 { 9 '$search': { 10 'compound': { 11 'should': [ 12 { 13 'autocomplete': { 14 'query': 'inter', 15 'path': 'title' 16 } 17 }, { 18 'autocomplete': { 19 'query': 'inter', 20 'path': 'plot' 21 } 22 } 23 ], 24 'minimumShouldMatch': 1 25 } 26 } 27 }, 28 { 29 '$limit': 10 30 }, 31 { 32 '$project': { 33 '_id': 0, 'title': 1, 'plot': 1 34 } 35 } 36 ] 37 # run pipeline 38 result = client["sample_mflix"]["movies"].aggregate(pipeline) 39 40 # print results 41 for i in result: 42 print(i)
注意
結果は異なる場合があります
Atlas Search は、オートコンプリート タイプのインデックス定義で構成されたトークン化戦略に応じて異なる結果を返します。詳細については、「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。
SCORE: 8.931777000427246 _id: "573a13b8f29313caabd4bcbf" plot: "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men." genres: Array awards: Object ... title: "Brief Interviews with Hideous Men" SCORE: 8.2173433303833 _id: "573a13bcf29313caabd56968" plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring." genres: Array awards: Object ... title: "The International" SCORE: 8.182762145996094 _id: "573a13aaf29313caabd22bcf" plot: "A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence." genres: Array awards: Object ... title: "Intermission" SCORE: 8.182762145996094 _id: "573a1398f29313caabceb7a6" plot: "A hospital nurse becomes an imdb: Object awards: Object ... title: "Interdevochka" SCORE: 8.178873062133789 _id: "573a13b5f29313caabd452c6" plot: "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress." genres: Array awards: Object ... title: "Interview" SCORE: 8.158283233642578 _id: "573a1398f29313caabcea77a" plot: "Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ..." imdb: Object awards: Object ... title: "Intervista" SCORE: 8.040483474731445 _id: "573a13aef29313caabd2c796" plot: "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot." genres: Array awards: Object ... title: "The Interpreter" SCORE: 8.02893352508545 _id: "573a13c3f29313caabd6b5c6" plot: "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ..." genres: Array awards: Object ... title: "Boy Interrupted" SCORE: 8.026378631591797 _id: "573a13d9f29313caabda8982" plot: "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment." genres: Array awards: Object ... title: "The Internship" SCORE: 8.01746654510498 _id: "573a13e2f29313caabdbdc4d" plot: "Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show \"Skylark Tonight.\" When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission." genres: Array awards: Object ... title: "The Interview"
SCORE: 10.543484687805176 _id: "573a13a0f29313caabd02f47" plot: "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ..." genres: Array awards: Object ... title: "The First Snow of Winter" SCORE: 10.543484687805176 _id: "573a13d2f29313caabd91d33" plot: "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier." genres: Array awards: Object ... title: "Captain America: The Winter Soldier" SCORE: 10.413713455200195 _id: "573a13daf29313caabdac230" plot: "During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another." genres: Array awards: Object ... title: "First Winter" SCORE: 9.885751724243164 _id: "573a13d5f29313caabd9a45b" plot: "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ..." genres: Array awards: Object ... title: "After Fall, Winter" SCORE: 9.770956039428711 _id: "573a13bdf29313caabd5a0f4" plot: "Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror." genres: Array awards: Object ... title: "Splinter" SCORE: 9.532302856445312 _id: "573a13dcf29313caabdb19c7" plot: "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining..." genres: Array awards: Object ... title: "Winter of Discontent" SCORE: 5.959532737731934 _id: "573a13c0f29313caabd62f21" plot: "A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy." genres: Array awards: Object ... title: "Suddenly, Last Winter" SCORE: 5.959532737731934 _id: "573a13b1f29313caabd35dc7" plot: "After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy." genres: Array awards: Object ... title: "Kissed by Winter" SCORE: 5.897221565246582 _id: "573a139af29313caabcf1762" plot: "A mysterious creature is killing a farmer's livestock." genres: Array awards: Object ... title: "In the Winter Dark" SCORE: 5.897221565246582 _id: "573a1399f29313caabcecfef" plot: "Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ..." genres: Array awards: Object ... title: "A Tale of Winter"
SCORE: 8.727951049804688 _id: "573a13b8f29313caabd4bcbf" plot: "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men." genres: Array awards: Object ... title: "Brief Interviews with Hideous Men" SCORE: 8.719245910644531 _id: "573a139ff29313caabd01cc6" plot: "On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ..." genres: Array awards: Object ... title: "Sarah, Plain and Tall: Winter's End" SCORE: 8.694562911987305 _id: "573a13d2f29313caabd91d33" plot: "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier." imdb: Object awards: Object ... title: "Captain America: The Winter Soldier" SCORE: 8.581620216369629 _id: "573a13dcf29313caabdb19c7" plot: "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining..." genres: Array awards: Object ... title: "Winter of Discontent" SCORE: 8.506681442260742 _id: "573a13a0f29313caabd02f47" plot: "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ..." genres: Array awards: Object ... title: "The First Snow of Winter" SCORE: 8.378528594970703 _id: "573a13d5f29313caabd9a45b" plot: "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ..." genres: Array awards: Object ... title: "After Fall, Winter" SCORE: 8.373418807983398 _id: "573a13bcf29313caabd56968" plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring." genres: Array awards: Object ... title: "The International" SCORE: 8.300098419189453 _id: "573a13aef29313caabd2c796" plot: "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot." genres: Array awards: Object ... title: "The Interpreter" SCORE: 8.299515724182129 _id: "573a139af29313caabcf0190" plot: "Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ..." genres: Array awards: Object ... title: "Mrs. Winterbourne" SCORE: 8.299029350280762 _id: "573a13d9f29313caabda8982" plot: "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment." genres: Array awards: Object ... title: "The Internship"
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 [ 2 { 3 plot: 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 4 title: 'Brief Interviews with Hideous Men' 5 }, 6 { 7 plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 8 title: 'The International' 9 }, 10 { 11 plot: 'A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.', 12 title: 'Intermission' 13 }, 14 { 15 plot: 'A hospital nurse becomes an "international girl", a prostitute who caters to foreigners with hard currency.', 16 title: 'Interdevochka' 17 }, 18 { 19 plot: "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.", 20 title: 'Interview' 21 }, 22 { 23 plot: 'Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...', 24 title: 'Intervista' 25 }, 26 { 27 plot: 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 28 title: 'The Interpreter' 29 }, 30 { 31 plot: "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...", 32 title: 'Boy Interrupted' 33 }, 34 { 35 plot: 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 36 title: 'The Internship' 37 }, 38 { 39 plot: 'Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show "Skylark Tonight." When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.', 40 title: 'The Interview' 41 } 42 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 [ 2 { 3 plot: 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 4 title: 'The First Snow of Winter' 5 }, 6 { 7 plot: 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 8 title: 'Captain America: The Winter Soldier' 9 }, 10 { 11 plot: "During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.", 12 title: 'First Winter' 13 }, 14 { 15 plot: 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 16 title: 'After Fall, Winter' 17 }, 18 { 19 plot: 'Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.', 20 title: 'Splinter' 21 }, 22 { 23 plot: 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 24 title: 'Winter of Discontent' 25 }, 26 { 27 plot: 'A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.', 28 title: 'Suddenly, Last Winter' 29 }, 30 { 31 plot: 'After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.', 32 title: 'Kissed by Winter' 33 }, 34 { 35 plot: "A mysterious creature is killing a farmer's livestock.", 36 title: 'In the Winter Dark' 37 }, 38 { 39 plot: 'Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...', 40 title: 'A Tale of Winter' 41 } 42 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 [ 2 { 3 plot: 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 4 title: 'Brief Interviews with Hideous Men' 5 }, 6 { 7 plot: 'On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...', 8 title: "Sarah, Plain and Tall: Winter's End" 9 }, 10 { 11 plot: 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 12 title: 'Captain America: The Winter Soldier' 13 }, 14 { 15 plot: 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 16 title: 'Winter of Discontent' 17 }, 18 { 19 plot: 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 20 title: 'The First Snow of Winter' 21 }, 22 { 23 plot: 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 24 title: 'After Fall, Winter' 25 }, 26 { 27 plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 28 title: 'The International' 29 }, 30 { 31 plot: 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 32 title: 'The Interpreter' 33 }, 34 { 35 plot: 'Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...', 36 title: 'Mrs. Winterbourne' 37 }, 38 { 39 plot: 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 40 title: 'The Internship' 41 } 42 ]
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 [ 2 { 3 plot: 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 4 title: 'Brief Interviews with Hideous Men' 5 }, 6 { 7 plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 8 title: 'The International' 9 }, 10 { 11 plot: 'A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.', 12 title: 'Intermission' 13 }, 14 { 15 plot: 'A hospital nurse becomes an "international girl", a prostitute who caters to foreigners with hard currency.', 16 title: 'Interdevochka' 17 }, 18 { 19 plot: "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.", 20 title: 'Interview' 21 }, 22 { 23 plot: 'Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...', 24 title: 'Intervista' 25 }, 26 { 27 plot: 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 28 title: 'The Interpreter' 29 }, 30 { 31 plot: "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...", 32 title: 'Boy Interrupted' 33 }, 34 { 35 plot: 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 36 title: 'The Internship' 37 }, 38 { 39 plot: 'Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show "Skylark Tonight." When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.', 40 title: 'The Interview' 41 } 42 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 [ 2 { 3 plot: 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 4 title: 'The First Snow of Winter' 5 }, 6 { 7 plot: 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 8 title: 'Captain America: The Winter Soldier' 9 }, 10 { 11 plot: "During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.", 12 title: 'First Winter' 13 }, 14 { 15 plot: 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 16 title: 'After Fall, Winter' 17 }, 18 { 19 plot: 'Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.', 20 title: 'Splinter' 21 }, 22 { 23 plot: 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 24 title: 'Winter of Discontent' 25 }, 26 { 27 plot: 'A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.', 28 title: 'Suddenly, Last Winter' 29 }, 30 { 31 plot: 'After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.', 32 title: 'Kissed by Winter' 33 }, 34 { 35 plot: "A mysterious creature is killing a farmer's livestock.", 36 title: 'In the Winter Dark' 37 }, 38 { 39 plot: 'Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...', 40 title: 'A Tale of Winter' 41 } 42 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 [ 2 { 3 plot: 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 4 title: 'Brief Interviews with Hideous Men' 5 }, 6 { 7 plot: 'On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...', 8 title: "Sarah, Plain and Tall: Winter's End" 9 }, 10 { 11 plot: 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 12 title: 'Captain America: The Winter Soldier' 13 }, 14 { 15 plot: 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 16 title: 'Winter of Discontent' 17 }, 18 { 19 plot: 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 20 title: 'The First Snow of Winter' 21 }, 22 { 23 plot: 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 24 title: 'After Fall, Winter' 25 }, 26 { 27 plot: "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 28 title: 'The International' 29 }, 30 { 31 plot: 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 32 title: 'The Interpreter' 33 }, 34 { 35 plot: 'Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...', 36 title: 'Mrs. Winterbourne' 37 }, 38 { 39 plot: 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 40 title: 'The Internship' 41 } 42 ]
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 { 2 "plot" : 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 3 "title" : 'Brief Interviews with Hideous Men' 4 } 5 { 6 "plot" : 'An Interpol agent attempts to expose a high-profile financial institution\'s role in an international arms dealing ring.', 7 "title" : 'The International' 8 } 9 { 10 "plot" : 'A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.', 11 "title" : 'Intermission' 12 } 13 { 14 "plot" : 'A hospital nurse becomes an "international girl", a prostitute who caters to foreigners with hard currency.', 15 "title" : 'Interdevochka' 16 } 17 { 18 "plot" : 'After falling out with his editor, a fading political journalist is forced to interview America\'s most popular soap actress.', 19 "title" : 'Interview' 20 } 21 { 22 "plot" : 'Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...', 23 "title" : 'Intervista' 24 } 25 { 26 "plot" : 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 27 "title" : 'The Interpreter' 28 } 29 { 30 "plot" : 'Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan\'s bipolar ...', 31 "title" : 'Boy Interrupted' 32 } 33 { 34 "plot" : 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 35 "title" : 'The Internship' 36 } 37 { 38 "plot" : 'Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show "Skylark Tonight." When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.', 39 "title" : 'The Interview' 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 { 2 "plot" : 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 3 "title" : 'The First Snow of Winter' 4 } 5 { 6 "plot" : 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 7 "title" : 'Captain America: The Winter Soldier' 8 } 9 { 10 "plot" : 'During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it\'s a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.', 11 "title" : 'First Winter' 12 } 13 { 14 "plot" : 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 15 "title" : 'After Fall, Winter' 16 } 17 { 18 "plot" : 'Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.', 19 "title" : 'Splinter' 20 } 21 { 22 "plot" : 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 23 "title" : 'Winter of Discontent' 24 } 25 { 26 "plot" : 'A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.', 27 "title" : 'Suddenly, Last Winter' 28 } 29 { 30 "plot" : 'After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.', 31 "title" : 'Kissed by Winter' 32 } 33 { 34 "plot" : 'A mysterious creature is killing a farmer\'s livestock.', 35 "title" : 'In the Winter Dark' 36 } 37 { 38 "plot" : 'Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...', 39 "title" : 'A Tale of Winter' 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 { 2 "plot" : 'A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.', 3 "title" : 'Brief Interviews with Hideous Men' 4 } 5 { 6 "plot" : 'On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...', 7 "title" : 'Sarah, Plain and Tall: Winter\'s End' 8 } 9 { 10 "plot" : 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 11 "title" : 'Captain America: The Winter Soldier' 12 } 13 { 14 "plot" : 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 15 "title" : 'Winter of Discontent' 16 } 17 { 18 "plot" : 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 19 "title" : 'The First Snow of Winter' 20 } 21 { 22 "plot" : 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 23 "title" : 'After Fall, Winter' 24 } 25 { 26 "plot" : 'An Interpol agent attempts to expose a high-profile financial institution\'s role in an international arms dealing ring.', 27 "title" : 'The International' 28 } 29 { 30 "plot" : 'Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.', 31 "title" : 'The Interpreter' 32 } 33 { 34 "plot" : 'Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...', 35 "title" : 'Mrs. Winterbourne' 36 } 37 { 38 "plot" : 'Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.', 39 "title" : 'The Internship' 40 }
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 [ 2 {plot A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.} 3 {title Brief Interviews with Hideous Men} 4 ] 5 [ 6 {plot An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.} 7 {title The International} 8 ] 9 [ 10 {plot A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.} 11 {title Intermission} 12 ] 13 [ 14 {plot A hospital nurse becomes an "international girl", a prostitute who caters to foreigners with hard currency.} 15 {title Interdevochka} 16 ] 17 [ 18 {plot After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.} 19 {title Interview} 20 ] 21 [ 22 {plot Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...} 23 {title Intervista} 24 ] 25 [ 26 {plot Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.} 27 {title The Interpreter} 28 ] 29 [ 30 {plot Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...} 31 {title Boy Interrupted} 32 ] 33 [ 34 {plot Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.} 35 {title The Internship} 36 ] 37 [ 38 {plot Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show "Skylark Tonight." When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.} 39 {title The Interview} 40 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 [ 2 {plot Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...} 3 {title The First Snow of Winter} 4 ] 5 [ 6 {plot As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.} 7 {title Captain America: The Winter Soldier} 8 ] 9 [ 10 {plot During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.} 11 {title First Winter} 12 ] 13 [ 14 {plot WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...} 15 {title After Fall, Winter} 16 ] 17 [ 18 {plot Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.} 19 {title Splinter} 20 ] 21 [ 22 {plot Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...} 23 {title Winter of Discontent} 24 ] 25 [ 26 {plot A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.} 27 {title Suddenly, Last Winter} 28 ] 29 [ 30 {plot After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.} 31 {title Kissed by Winter} 32 ] 33 [ 34 {plot A mysterious creature is killing a farmer's livestock.} 35 {title In the Winter Dark} 36 ] 37 [ 38 {plot Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...} 39 {title A Tale of Winter} 40 ]
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 [ 2 {plot A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.} 3 {title Brief Interviews with Hideous Men} 4 ] 5 [ 6 {plot On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...} 7 {title Sarah, Plain and Tall: Winter's End} 8 ] 9 [ 10 {plot As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.} 11 {title Captain America: The Winter Soldier} 12 ] 13 [ 14 {plot Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...} 15 {title Winter of Discontent} 16 ] 17 [ 18 {plot Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...} 19 {title The First Snow of Winter} 20 ] 21 [ 22 {plot WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...} 23 {title After Fall, Winter} 24 ] 25 [ 26 {plot An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.} 27 {title The International} 28 ] 29 [ 30 {plot Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.} 31 {title The Interpreter} 32 ] 33 [ 34 {plot Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...} 35 {title Mrs. Winterbourne} 36 ] 37 [ 38 {plot Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.} 39 {title The Internship} 40 ]
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 { 2 "plot" : "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title" : "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot" : "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 7 "title" : "The International" 8 } 9 { 10 "plot" : "A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.", 11 "title" : "Intermission" 12 } 13 { 14 "plot" : "A hospital nurse becomes an \"international girl\", a prostitute who caters to foreigners with hard currency.", 15 "title" : "Interdevochka" 16 } 17 { 18 "plot" : "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.", 19 "title" : "Interview" 20 } 21 { 22 "plot" : "Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...", 23 "title" : "Intervista" 24 } 25 { 26 "plot" : "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 27 "title" : "The Interpreter" 28 } 29 { 30 "plot" : "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...", 31 "title" : "Boy Interrupted" 32 } 33 { 34 "plot" : "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 35 "title" : "The Internship" 36 } 37 { 38 "plot" : "Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show \"Skylark Tonight.\" When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.", 39 "title" : "The Interview" 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 { 2 "plot" : 'Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...', 3 "title" : 'The First Snow of Winter' 4 } 5 { 6 "plot" : 'As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.', 7 "title" : 'Captain America: The Winter Soldier' 8 } 9 { 10 "plot" : 'During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it\'s a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.', 11 "title" : 'First Winter' 12 } 13 { 14 "plot" : 'WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...', 15 "title" : 'After Fall, Winter' 16 } 17 { 18 "plot" : 'Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.', 19 "title" : 'Splinter' 20 } 21 { 22 "plot" : 'Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...', 23 "title" : 'Winter of Discontent' 24 } 25 { 26 "plot" : 'A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.', 27 "title" : 'Suddenly, Last Winter' 28 } 29 { 30 "plot" : 'After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.', 31 "title" : 'Kissed by Winter' 32 } 33 { 34 "plot" : 'A mysterious creature is killing a farmer\'s livestock.', 35 "title" : 'In the Winter Dark' 36 } 37 { 38 "plot" : 'Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...', 39 "title" : 'A Tale of Winter' 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 { 2 "plot": "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title": "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot": "On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...", 7 "title": "Sarah, Plain and Tall\:\ Winter's End" 8 } 9 { 10 "plot": "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history\:\ an assassin known as the Winter Soldier.", 11 "title": "Captain America\:\ The Winter Soldier" 12 } 13 { 14 "plot": "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...", 15 "title": "Winter of Discontent" 16 } 17 { 18 "plot": "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...", 19 "title": "The First Snow of Winter" 20 } 21 { 22 "plot": "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...", 23 "title": "After Fall, Winter" 24 } 25 { 26 "plot": "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 27 "title": "The International" 28 } 29 { 30 "plot": "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 31 "title": "The Interpreter" 32 } 33 { 34 "plot": "Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...", 35 "title": "Mrs. Winterbourne" 36 } 37 { 38 "plot": "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 39 "title": "The Internship" 40 }
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 Document{{plot=A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men., title=Brief Interviews with Hideous Men}} 2 Document{{plot=An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring., title=The International}} 3 Document{{plot=A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence., title=Intermission}} 4 Document{{plot=A hospital nurse becomes an "international girl", a prostitute who caters to foreigners with hard currency., title=Interdevochka}} 5 Document{{plot=After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress., title=Interview}} 6 Document{{plot=Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ..., title=Intervista}} 7 Document{{plot=Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot., title=The Interpreter}} 8 Document{{plot=Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ..., title=Boy Interrupted}} 9 Document{{plot=Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment., title=The Internship}} 10 Document{{plot=Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show "Skylark Tonight." When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission., title=The Interview}}
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 Document{{plot=Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ..., title=The First Snow of Winter}} 2 Document{{plot=As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier., title=Captain America: The Winter Soldier}} 3 Document{{plot=During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another., title=First Winter}} 4 Document{{plot=WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ..., title=After Fall, Winter}} 5 Document{{plot=Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror., title=Splinter}} 6 Document{{plot=Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining..., title=Winter of Discontent}} 7 Document{{plot=A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy., title=Suddenly, Last Winter}} 8 Document{{plot=After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy., title=Kissed by Winter}} 9 Document{{plot=A mysterious creature is killing a farmer's livestock., title=In the Winter Dark}} 10 Document{{plot=Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ..., title=A Tale of Winter}}
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 Document{{plot=A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men., title=Brief Interviews with Hideous Men}} 2 Document{{plot=On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ..., title=Sarah, Plain and Tall: Winter's End}} 3 Document{{plot=As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier., title=Captain America: The Winter Soldier}} 4 Document{{plot=Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining..., title=Winter of Discontent}} 5 Document{{plot=Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ..., title=The First Snow of Winter}} 6 Document{{plot=WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ..., title=After Fall, Winter}} 7 Document{{plot=An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring., title=The International}} 8 Document{{plot=Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot., title=The Interpreter}} 9 Document{{plot=Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ..., title=Mrs. Winterbourne}} 10 Document{{plot=Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment., title=The Internship}}
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 { 2 "plot": "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title": "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot": "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 7 "title": "The International" 8 } 9 { 10 "plot": "A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.", 11 "title": "Intermission" 12 } 13 { 14 "plot": "A hospital nurse becomes an \"international girl\", a prostitute who caters to foreigners with hard currency.", 15 "title": "Interdevochka" 16 } 17 { 18 "plot": "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.", 19 "title": "Interview" 20 } 21 { 22 "plot": "Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...", 23 "title": "Intervista" 24 } 25 { 26 "plot": "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 27 "title": "The Interpreter" 28 } 29 { 30 "plot": "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...", 31 "title": "Boy Interrupted" 32 } 33 { 34 "plot": "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 35 "title": "The Internship" 36 } 37 { 38 "plot": "Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show \"Skylark Tonight.\" When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.", 39 "title": "The Interview" 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 { 2 "plot": "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...", 3 "title": "The First Snow of Winter" 4 } 5 { 6 "plot": "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.", 7 "title": "Captain America: The Winter Soldier" 8 } 9 { 10 "plot": "During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.", 11 "title": "First Winter" 12 } 13 { 14 "plot": "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...", 15 "title": "After Fall, Winter" 16 } 17 { 18 "plot": "Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.", 19 "title": "Splinter" 20 } 21 { 22 "plot": "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...", 23 "title": "Winter of Discontent" 24 } 25 { 26 "plot": "A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.", 27 "title": "Suddenly, Last Winter" 28 } 29 { 30 "plot": "After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.", 31 "title": "Kissed by Winter" 32 } 33 { 34 "plot": "A mysterious creature is killing a farmer's livestock.", 35 "title": "In the Winter Dark" 36 } 37 { 38 "plot": "Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...", 39 "title": "A Tale of Winter" 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 { 2 "plot": "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title": "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot": "On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...", 7 "title": "Sarah, Plain and Tall: Winter's End" 8 } 9 { 10 "plot": "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.", 11 "title": "Captain America: The Winter Soldier" 12 } 13 { 14 "plot": "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...", 15 "title": "Winter of Discontent" 16 } 17 { 18 "plot": "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...", 19 "title": "The First Snow of Winter" 20 } 21 { 22 "plot": "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...", 23 "title": "After Fall, Winter" 24 } 25 { 26 "plot": "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 27 "title": "The International" 28 } 29 { 30 "plot": "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 31 "title": "The Interpreter" 32 } 33 { 34 "plot": "Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...", 35 "title": "Mrs. Winterbourne" 36 } 37 { 38 "plot": "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 39 "title": "The Internship" 40 }
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
1 { 2 "plot": "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title": "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot": "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 7 "title": "The International" 8 } 9 { 10 "plot": "A variety of losers in Dublin have harrowingly farcical intersecting stories of love, greed and violence.", 11 "title": "Intermission" 12 } 13 { 14 "plot": "A hospital nurse becomes an \"international girl\", a prostitute who caters to foreigners with hard currency.", 15 "title": "Interdevochka" 16 } 17 { 18 "plot": "After falling out with his editor, a fading political journalist is forced to interview America's most popular soap actress.", 19 "title": "Interview" 20 } 21 { 22 "plot": "Cinecitta, the huge movie studio outside Rome, is 50 years old and Fellini is interviewed by a Japanese TV crew about the films he has made there over the years as he begins production on ...", 23 "title": "Intervista" 24 } 25 { 26 "plot": "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 27 "title": "The Interpreter" 28 } 29 { 30 "plot": "Boy Interrupted looks at the life of Evan Perry a 15-year-old boy from New York who committed suicide in 2005. The film made by his parents Dana and Hart examines how Evan's bipolar ...", 31 "title": "Boy Interrupted" 32 } 33 { 34 "plot": "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 35 "title": "The Internship" 36 } 37 { 38 "plot": "Dave Skylark and producer Aaron Rapoport run the celebrity tabloid show \"Skylark Tonight.\" When they land an interview with a surprise fan, North Korean dictator Kim Jong-un, they are recruited by the CIA to turn their trip to Pyongyang into an assassination mission.", 39 "title": "The Interview" 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の先頭に文字inter
が表示されます。Atlas Search は、タームを、単語の左側から始まるtitle
およびplot
フィールド用に作成されたトークンと照合するため、指定されたクエリ文字列で始まる結果を返します。
1 { 2 "plot": "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...", 3 "title": "The First Snow of Winter" 4 } 5 { 6 "plot": "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.", 7 "title": "Captain America: The Winter Soldier" 8 } 9 { 10 "plot": "During a winter of record-breaking cold; an apocalyptic blackout strands a group of Brooklynites in a remote farmhouse. At first it's a party of sex; drugs; and yoga. But as supplies dwindle; they turn against one another.", 11 "title": "First Winter" 12 } 13 { 14 "plot": "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...", 15 "title": "After Fall, Winter" 16 } 17 { 18 "plot": "Trapped in an isolated gas station by a voracious Splinter parasite that transforms its still living victims into deadly hosts, a young couple and an escaped convict must find a way to work together to survive this primal terror.", 19 "title": "Splinter" 20 } 21 { 22 "plot": "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...", 23 "title": "Winter of Discontent" 24 } 25 { 26 "plot": "A couple engage in discussions with people on the street, politicians and religious leaders about the discrimination against gays and lesbians in Italy.", 27 "title": "Suddenly, Last Winter" 28 } 29 { 30 "plot": "After her son is hospitalized, a doctor cheats on her husband with a snow plow driver who is a suspect in her investigation of the recent death of a young Arab boy.", 31 "title": "Kissed by Winter" 32 } 33 { 34 "plot": "A mysterious creature is killing a farmer's livestock.", 35 "title": "In the Winter Dark" 36 } 37 { 38 "plot": "Felicie and Charles have a serious if whirlwind holiday romance. Due to a mix-up on addresses they lose contact, and five years later at Christmas-time Felicie is living with her mother in ...", 39 "title": "A Tale of Winter" 40 }
これらの結果では、title
フィールドまたは plot
フィールドの単語の末尾に文字inter
が表示されます。Atlas Search は、アナライザによって区切られた単語の右側から始まる title
および plot
フィールドに対して作成されたトークンとタームを照合するため、指定されたクエリ文字列で終わる結果を返します。
1 { 2 "plot": "A graduate student (Nicholson) copes with a recent breakup by conducting interviews with various men.", 3 "title": "Brief Interviews with Hideous Men" 4 } 5 { 6 "plot": "On a cold winter day a mysterious stranger shows up at the Witting Farm. He is John Witting, the father of Jacob Witting who abandoned Jacob and his mother when Jacob was little. Jacob is ...", 7 "title": "Sarah, Plain and Tall: Winter's End" 8 } 9 { 10 "plot": "As Steve Rogers struggles to embrace his role in the modern world, he teams up with another super soldier, the black widow, to battle a new threat from old history: an assassin known as the Winter Soldier.", 11 "title": "Captain America: The Winter Soldier" 12 } 13 { 14 "plot": "Set against the momentous backdrop of the whirlwind Tahrir Square protests, Winter of discontent poetically explores the anguish of a victim state terror in 2009, presaging and intertwining...", 15 "title": "Winter of Discontent" 16 } 17 { 18 "plot": "Sean is a little duck with a big problem. Due to a mishap with a jet aircraft Sean misses the annual migration South and has to face the winter alone. However, he is befriended by a water ...", 19 "title": "The First Snow of Winter" 20 } 21 { 22 "plot": "WINTER is a dangerous, sexy, poignant and at times darkly funny story about two people who desperately want intimacy but have fashioned lives of reclusivity and emotional fracture which ...", 23 "title": "After Fall, Winter" 24 } 25 { 26 "plot": "An Interpol agent attempts to expose a high-profile financial institution's role in an international arms dealing ring.", 27 "title": "The International" 28 } 29 { 30 "plot": "Political intrigue and deception unfold inside the United Nations, where a U.S. Secret Service agent is assigned to investigate an interpreter who overhears an assassination plot.", 31 "title": "The Interpreter" 32 } 33 { 34 "plot": "Connie Doyle is eighteen and pregnant when her boyfriend kicks her out. She accidentally ends up on a train where she meets Hugh Winterbourne and his wife Patricia who is pregnant. The ...", 35 "title": "Mrs. Winterbourne" 36 } 37 { 38 "plot": "Two salesmen whose careers have been torpedoed by the digital age find their way into a coveted internship at Google, where they must compete with a group of young, tech-savvy geniuses for a shot at employment.", 39 "title": "The Internship" 40 }
これらの結果では、文字 inter
は title
フィールドまたは plot
フィールドの単語のどこかに表示されます。Atlas Search は、title
フィールドと plot
フィールドに対して作成する 3 から 7 文字の長さのトークンにクエリ用語を照合するため、Atlas Search は指定されたクエリ文字列を含む単語で結果を返します。
ファセット クエリによるバケット結果
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
次のクエリをコピーして、 Query Editorに貼り付け、 Query EditorのSearchボタンをクリックします。
[ { "$searchMeta": { "facet": { "operator": { "autocomplete": { "query": "Gravity", "path": "title" } }, "facets": { "titleFacet": { "type": "string", "path": "title" } } } } } ]
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 db.movies.aggregate([{ 2 $searchMeta: { 3 "facet": { 4 "operator": { 5 "autocomplete": { 6 "query": "Gravity", 7 "path": "title" 8 } 9 }, 10 "facets": { 11 "titleFacet": { 12 "type": "string", 13 "path": "title" 14 } 15 } 16 } 17 } 18 }])
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
movies
コレクションの Aggregations タブで、ドロップダウンからステージを選択し、そのステージのクエリを追加して、次のパイプラインステージを設定します。
パイプラインステージ | クエリ | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 using MongoDB.Bson; 2 using MongoDB.Bson.Serialization.Attributes; 3 using MongoDB.Bson.Serialization.Conventions; 4 using MongoDB.Driver; 5 using MongoDB.Driver.Search; 6 7 public class AutocompleteFacetExample 8 { 9 private const string MongoConnectionString = "<connection-string>"; 10 11 public static void Main(string[] args) 12 { 13 // allow automapping of the camelCase database fields to our MovieDocument 14 var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() }; 15 ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true); 16 17 // connect to your Atlas cluster 18 var mongoClient = new MongoClient(MongoConnectionString); 19 var mflixDatabase = mongoClient.GetDatabase("sample_mflix"); 20 var moviesCollection = mflixDatabase.GetCollection<MovieDocument>("movies"); 21 22 // define and run pipeline 23 var results = moviesCollection.Aggregate() 24 .SearchMeta(Builders<MovieDocument>.Search.Facet( 25 Builders<MovieDocument>.Search.Autocomplete(movie => movie.Title, "Gravity"), 26 Builders<MovieDocument>.SearchFacet.String("titleFacet", movie => movie.Title, 100))) 27 .Single(); 28 29 // print results 30 Console.WriteLine(results.ToJson()); 31 } 32 } 33 34 [ ]35 public class MovieDocument 36 { 37 [ ]38 public ObjectId Id { get; set; } 39 public string Title { get; set; } 40 }
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.mongodb.org/mongo-driver/v2/bson" 8 "go.mongodb.org/mongo-driver/v2/mongo" 9 "go.mongodb.org/mongo-driver/v2/mongo/options" 10 ) 11 12 func main() { 13 // connect to your Atlas cluster 14 client, err := mongo.Connect(options.Client().ApplyURI("<connection-string>")) 15 if err != nil { 16 panic(err) 17 } 18 defer client.Disconnect(context.TODO()) 19 20 // set namespace 21 collection := client.Database("sample_mflix").Collection("movies") 22 23 // define pipeline stages 24 searchMetaStage := bson.D{{Key: "$searchMeta", Value: bson.M{ 25 "facet": bson.M{ 26 "operator": bson.M{ 27 "autocomplete": bson.M{ 28 "path": "title", "query": "Gravity", 29 }, 30 }, 31 "facets": bson.M{ 32 "titleFacet": bson.M{ 33 "path": "title", "type": "string", 34 }, 35 }, 36 }, 37 }}} 38 39 // run pipeline 40 cursor, err := collection.Aggregate(context.TODO(), mongo.Pipeline{searchMetaStage}) 41 if err != nil { 42 panic(err) 43 } 44 45 // print results 46 var results []bson.D 47 if err = cursor.All(context.TODO(), &results); err != nil { 48 panic(err) 49 } 50 for _, result := range results { 51 fmt.Println(result) 52 } 53 }
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 import com.mongodb.client.MongoClient; 2 import com.mongodb.client.MongoClients; 3 import com.mongodb.client.MongoCollection; 4 import com.mongodb.client.MongoDatabase; 5 import org.bson.Document; 6 7 import java.util.Arrays; 8 9 public class FacetAutocompleteExample { 10 public static void main(String[] args) { 11 // connect to your Atlas cluster 12 String uri = "<connection-string>"; 13 14 try (MongoClient mongoClient = MongoClients.create(uri)) { 15 // set namespace 16 MongoDatabase database = mongoClient.getDatabase("sample_mflix"); 17 MongoCollection<Document> collection = database.getCollection("movies"); 18 19 // define pipeline 20 Document agg = new Document("$searchMeta", new Document("facet", 21 new Document("operator", 22 new Document("autocomplete", 23 new Document("path", "title") 24 .append("query", "Gravity"))) 25 .append("facets", 26 new Document("titleFacet", 27 new Document("type", "string").append("path", "title")) 28 ))); 29 // run pipeline and print results 30 collection.aggregate(Arrays.asList(agg)) 31 .forEach(doc -> System.out.println(doc.toJson())); 32 33 } 34 } 35 }
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 import com.mongodb.client.model.Aggregates.limit 2 import com.mongodb.client.model.Aggregates.project 3 import com.mongodb.client.model.Filters.eq 4 import com.mongodb.client.model.Projections.* 5 import com.mongodb.kotlin.client.coroutine.MongoClient 6 import kotlinx.coroutines.runBlocking 7 import org.bson.Document 8 9 fun main() { 10 val uri = "<connection-string>" 11 val mongoClient = MongoClient.create(uri) 12 val database = mongoClient.getDatabase("sample_mflix") 13 val collection = database.getCollection<Document>("movies") 14 15 runBlocking { 16 val agg = Document( 17 "\$searchMeta", Document( 18 "facet", 19 Document( 20 "operator", 21 Document( 22 "autocomplete", 23 Document("path", "title") 24 .append("query", "Gravity") 25 ) 26 ) 27 .append( 28 "facets", 29 Document( 30 "titleFacet", 31 Document("type", "string").append("path", "title") 32 ) 33 ) 34 ) 35 ) 36 37 val resultsFlow = collection.aggregate<Document>(listOf(agg)) 38 resultsFlow.collect { println(it) } 39 } 40 mongoClient.close() 41 }
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 const { MongoClient } = require("mongodb"); 2 3 // connect to your Atlas cluster 4 const uri = 5 "<connection-string>"; 6 7 const client = new MongoClient(uri); 8 9 async function run() { 10 try { 11 await client.connect(); 12 13 // set namespace 14 const database = client.db("sample_mflix"); 15 const coll = database.collection("movies"); 16 17 // define pipeline 18 const agg = [{$searchMeta: {facet: { 19 operator: { 20 autocomplete: {path: "title", query: "Gravity"} 21 }, 22 facets: { 23 titleFacet: {type: "string", path: "title"} 24 }}}}]; 25 // run pipeline 26 const result = coll.aggregate(agg); 27 28 // print results 29 await result.forEach((doc) => console.dir(JSON.stringify(doc))); 30 } finally { 31 await client.close(); 32 } 33 } 34 run().catch(console.dir);
$searchMeta
Gravity
title
次のクエリは、movies
ステージを使用して、 コレクションの フィールドに というタームを含む映画の一意の値を返します。このクエリのインデックス定義は、 トークンインデックスから返される結果を制限します。ここでは オートコンプリート と トークン タイプの両方がtitle
フィールドにあります。
1 import pymongo 2 3 # connect to your Atlas cluster 4 client = pymongo.MongoClient('<connection-string>') 5 6 # define pipeline 7 pipeline = [{"$searchMeta": { 8 "facet": { 9 "operator": { 10 "autocomplete": {"path": "title", "query": "Gravity"} 11 }, 12 "facets": { 13 "titleFacet": {"type": "string", "path": "title"} 14 }}}}] 15 # run pipeline 16 result = client["sample_mflix"]["movies"].aggregate(pipeline) 17 18 # print results 19 for i in result: 20 print(i)
count: Object lowerBound: 5 facet: Object titleFacet: Object buckets: Array (3) 0: Object _id: "Gravity" count: 3 1: Object _id: "Defying Gravity" count: 1 2: Object _id: "Laws of Gravity" count: 1
Search Testerは返されるドキュメントのすべてのフィールドを表示しない可能性があります。クエリパスで指定したフィールドを含む、すべてのフィールドを表示するには、結果のドキュメントを展開します。
1 [{ 2 count: { lowerBound: Long("5") }, 3 facet: { 4 titleFacet: { 5 buckets: [ 6 { _id: 'Gravity', count: Long("3") }, 7 { _id: 'Defying Gravity', count: Long("1") }, 8 { _id: 'Laws of Gravity', count: Long("1") } 9 ] 10 } 11 } 12 }]
1 [{ 2 count: { lowerBound: Long("5") }, 3 facet: { 4 titleFacet: { 5 buckets: [ 6 { _id: 'Gravity', count: Long("3") }, 7 { _id: 'Defying Gravity', count: Long("1") }, 8 { _id: 'Laws of Gravity', count: Long("1") } 9 ] 10 } 11 } 12 }]
1 { 2 "count" : { 3 "lowerBound" : NumberLong(5), 4 "total" : null 5 }, 6 "facet" : { 7 "titleFacet" : { 8 "buckets" : [ 9 { 10 "_id" : "Gravity", 11 "count" : NumberLong(3) 12 }, 13 { 14 "_id" : "Defying Gravity", 15 "count" : NumberLong(1) 16 }, 17 { 18 "_id" : "Laws of Gravity", 19 "count" : NumberLong(1) 20 }] 21 } 22 } 23 }
1 [ 2 { 3 count [{ 4 lowerBound 5} 5 ] 6 } 7 { 8 facet [{ 9 titleFacet [{ 10 buckets [ 11 [{_id Gravity} {count 3}] 12 [{_id Defying Gravity} {count 1}] 13 [{_id Laws of Gravity} {count 1}] 14 ] 15 }]}] 16 } 17 ]
1 { 2 "count": { 3 "lowerBound": 5 4 }, 5 "facet": { 6 "titleFacet": { 7 "buckets": [ 8 { 9 "_id": "Gravity", 10 "count": 3 11 }, 12 { 13 "_id": "Defying Gravity", 14 "count": 1 15 }, 16 { 17 "_id": "Laws of Gravity", 18 "count": 1 19 }] 20 } 21 } 22 }
1 Document{{count=Document{{lowerBound=5}}, 2 facet=Document{{titleFacet=Document{{buckets=[Document{{_id=Gravity, 3 count=3}}, Document{{_id=Defying Gravity, count=1}}, Document{{_id=Laws 4 of Gravity, count=1}}]}}}}}}
1 '{ 2 "count":{ 3 "lowerBound":5 4 }, 5 "facet":{ 6 "titleFacet":{ 7 "buckets":[ 8 { 9 "_id":"Gravity", 10 "count":3 11 }, 12 { 13 "_id":"Defying Gravity", 14 "count":1 15 }, 16 { 17 "_id":"Laws of Gravity", 18 "count":1 19 } 20 ] 21 } 22 } 23 }'
1 { 2 'count': {'lowerBound': 5}, 3 'facet': { 4 'titleFacet': { 5 'buckets': [ 6 { 7 '_id': 'Gravity', 8 'count': 3 9 }, 10 { 11 '_id': 'Defying Gravity', 12 'count': 1 13 }, 14 { 15 '_id': 'Laws of Gravity', 16 'count': 1 17 }] 18 } 19 } 20 }
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
[ { title: 'Gravity' }, { title: 'Gravity' }, { title: 'Gravity' }, { title: 'Defying Gravity' }, { title: 'Laws of Gravity' } ]
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
[ { title: 'Gravity' }, { title: 'Gravity' }, { title: 'Gravity' }, { title: 'Defying Gravity' }, { title: 'Laws of Gravity' } ]
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
{ "title" : "Gravity" } { "title" : "Gravity" } { "title" : "Gravity" } { "title" : "Defying Gravity" } { "title" : "Laws of Gravity" }
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
[{title Gravity}], [{title Gravity}], [{title Gravity}], [{title Defying Gravity}], [{title Laws of Gravity}]
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
{"title": "Gravity"} {"title": "Gravity"} {"title": "Gravity"} {"title": "Defying Gravity"} {"title": "Laws of Gravity"}
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
Document{{title=Gravity}} Document{{title=Gravity}} Document{{title=Gravity}} Document{{title=Defying Gravity}} Document{{title=Laws of Gravity}}
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
{ title: 'Gravity' } { title: 'Gravity' } { title: 'Gravity' } { title: 'Defying Gravity' } { title: 'Laws of Gravity' }
Atlas Search は、 title
フィールドにタームGravity
が含まれるドキュメントを返します。結果のcount
フィールドは、コレクション内の同じタイトルのドキュメントの数を示します。結果では、Atlas Search はコレクション内でタイトルがGravity
である 3つのドキュメントを見つけましたが、Atlas Search は重複するタイトルを省略し、一致するドキュメントを1つだけ返しました。
以下の結果に示すように、重複したタイトルを表示するには、ファセットなしで前述のオートコンプリート 演算子を実行し、$search
ステージを代わりに使用します。title
以外のすべてのフィールドを除外するには、$project
ステージも使用する必要があります。
{ 'title': 'Gravity' } { 'title': 'Gravity' } { 'title': 'Gravity' } { 'title': 'Defying Gravity' } { 'title': 'Laws of Gravity' }
詳細
詳しくは、「オートコンプリートと部分一致 Atlas Search クエリの実行方法」を参照してください。