summaryrefslogtreecommitdiff
path: root/jstests/core/index/fts/fts_index_version1.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/index/fts/fts_index_version1.js')
-rw-r--r--jstests/core/index/fts/fts_index_version1.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/core/index/fts/fts_index_version1.js b/jstests/core/index/fts/fts_index_version1.js
new file mode 100644
index 00000000000..57b7c7710b6
--- /dev/null
+++ b/jstests/core/index/fts/fts_index_version1.js
@@ -0,0 +1,21 @@
+// Test basic usage of "textIndexVersion:1" indexes.
+var coll = db.fts_index_version1;
+
+// Test basic English search.
+coll.drop();
+assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 1}));
+assert.commandWorked(coll.insert({a: "running"}));
+assert.eq(1, coll.count({$text: {$search: "run"}}));
+
+// Test search with a "language alias" only recognized in textIndexVersion:1 (note that the stopword
+// machinery doesn't recognize these aliases).
+coll.drop();
+assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "eng", textIndexVersion: 1}));
+assert.commandWorked(coll.insert({a: "running"}));
+assert.eq(1, coll.count({$text: {$search: "run"}}));
+
+// Test that textIndexVersion:1 indexes ignore subdocument language annotations.
+coll.drop();
+assert.commandWorked(coll.createIndex({"a.b": "text"}, {textIndexVersion: 1}));
+assert.commandWorked(coll.insert({language: "none", a: {language: "english", b: "the"}}));
+assert.eq(1, coll.count({$text: {$search: "the", $language: "none"}}));