@@ -299,6 +299,59 @@ likely to appear in responses than words from other fields.
299
299
when creating the index, you can find the name using
300
300
:method:`db.collection.getIndexes()`
301
301
302
+ .. _text-index-specify-language:
303
+
304
+ Specify Languages for Text Index
305
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
306
+
307
+ The default language associated with the indexed data determines the
308
+ list of stop words and the rules for the stemmer and tokenizer. The
309
+ default language for the indexed data is ``english``.
310
+
311
+ Use the ``default_language`` option when creating the ``text`` index to
312
+ specify a different language. See :ref:`text-search-languages`.
313
+
314
+ The following example creates a ``text`` index on the
315
+ ``content`` field and sets the ``default_language`` to
316
+ ``spanish``:
317
+
318
+ .. code-block:: javascript
319
+
320
+ db.collection.ensureIndex( { content : "text" },
321
+ { default_language: "spanish" } )
322
+
323
+ If a collection contains documents that are in different languages, the
324
+ individual documents can specify the language to use.
325
+
326
+ - By default, if the documents in the collection contain a field named
327
+ ``language``, the value of the ``language`` field overrides the
328
+ default language.
329
+
330
+ For example, the following document overrides the default language
331
+ ``spanish`` with ``portuguese``, the value in its ``language`` field.
332
+
333
+ .. code-block:: javascript
334
+
335
+ { content: "A sorte protege os audazes", language: "portuguese" }
336
+
337
+ - To use a different field to override the default language, specify the
338
+ field with the ``language_override`` option when creating the index.
339
+
340
+ For example, if the documents contain the field named ``myLanguage``
341
+ instead of ``language``, create the ``text`` index with the
342
+ ``language_override`` option.
343
+
344
+ .. code-block:: javascript
345
+
346
+ db.collection.ensureIndex( { content : "text" },
347
+ { language_override: "myLanguage" } )
348
+
349
+ .. .. note::
350
+ .. If you specify a ``default_language`` of ``"none"``, or the override
351
+ language is ``"none"``, the :dbcommand:`text` command will not stem
352
+ the words. The command will also consider all words, i.e., it will not
353
+ drop the stop words.
354
+
302
355
Text Queries
303
356
^^^^^^^^^^^^
304
357
@@ -363,9 +416,11 @@ cursor.
363
416
364
417
:param string language:
365
418
366
- Optional. Specify the language that determines the tokenization,
367
- stemming, and the stop words for the search. The default language
368
- is ``english``.
419
+ Optional. Specify, for the search, the language that determines
420
+ the list of stop words and the rules for the stemmer and
421
+ tokenizer. The default language is the value of the
422
+ ``default_language`` field specified during the index creation.
423
+ See :ref:`text-search-languages` for the supported languages.
369
424
370
425
:return:
371
426
@@ -477,6 +532,44 @@ cursor.
477
532
document, you cannot mix inclusions (i.e. ``<fieldA>: 1``) and
478
533
exclusions (i.e. ``<fieldB>: 0``), except for the ``_id`` field.
479
534
535
+ .. _text-search-languages:
536
+
537
+ Languages Supported in Text Search
538
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
539
+
540
+ The ``text`` index and the :dbcommand:`text` command support the
541
+ following languages:
542
+
543
+ - ``danish``
544
+
545
+ - ``dutch``
546
+
547
+ - ``english``
548
+
549
+ - ``finnish``
550
+
551
+ - ``french``
552
+
553
+ - ``german``
554
+
555
+ - ``hungarian``
556
+
557
+ - ``italian``
558
+
559
+ - ``norwegian``
560
+
561
+ - ``portuguese``
562
+
563
+ - ``romanian``
564
+
565
+ - ``russian``
566
+
567
+ - ``spanish``
568
+
569
+ - ``swedish``
570
+
571
+ - ``turkish``
572
+
480
573
.. _kerberos-authentication:
481
574
482
575
New Modular Authentication System with Support for Kerberos
0 commit comments