MongoEngine
  • 1. Tutorial
    • 1.1. Getting started
    • 1.2. Defining our documents
    • 1.3. Adding data to our Tumblelog
    • 1.4. Accessing our data
  • 2. User Guide
    • 2.1. Installing MongoEngine
    • 2.2. Connecting to MongoDB
    • 2.3. Defining documents
    • 2.4. Documents instances
    • 2.5. Querying the database
    • 2.6. GridFS
    • 2.7. Signals
    • 2.8. Text Search
    • 2.9. Use mongomock for testing
  • 3. API Reference
    • 3.1. Connecting
    • 3.2. Documents
    • 3.3. Context Managers
    • 3.4. Querying
    • 3.5. Fields
    • 3.6. Embedded Document Querying
    • 3.7. Misc
  • 4. Changelog
    • 4.1. Development
    • 4.2. Changes in 0.11.0
    • 4.3. Changes in 0.10.8
    • 4.4. Changes in 0.10.7
    • 4.5. Changes in 0.10.6
    • 4.6. Changes in 0.10.5
    • 4.7. Changes in 0.10.4
    • 4.8. Changes in 0.10.3
    • 4.9. Changes in 0.10.2
    • 4.10. Changes in 0.10.1
    • 4.11. Changes in 0.10.0
    • 4.12. Changes in 0.9.0
    • 4.13. Changes in 0.8.7
    • 4.14. Changes in 0.8.6
    • 4.15. Changes in 0.8.5
    • 4.16. Changes in 0.8.4
    • 4.17. Changes in 0.8.3
    • 4.18. Changes in 0.8.2
    • 4.19. Changes in 0.8.1
    • 4.20. Changes in 0.8.0
    • 4.21. Changes in 0.7.10
    • 4.22. Changes in 0.7.9
    • 4.23. Changes in 0.7.8
    • 4.24. Changes in 0.7.7
    • 4.25. Changes in 0.7.6
    • 4.26. Changes in 0.7.5
    • 4.27. Changes in 0.7.4
    • 4.28. Changes in 0.7.3
    • 4.29. Changes in 0.7.2
    • 4.30. Changes in 0.7.1
    • 4.31. Changes in 0.7.0
    • 4.32. Changes in 0.6.20
    • 4.33. Changes in 0.6.19
    • 4.34. Changes in 0.6.18
    • 4.35. Changes in 0.6.17
    • 4.36. Changes in 0.6.16
    • 4.37. Changes in 0.6.15
    • 4.38. Changes in 0.6.14
    • 4.39. Changes in 0.6.13
    • 4.40. Changes in 0.6.12
    • 4.41. Changes in 0.6.11
    • 4.42. Changes in 0.6.10
    • 4.43. Changes in 0.6.9
    • 4.44. Changes in 0.6.8
    • 4.45. Changes in 0.6.7
    • 4.46. Changes in 0.6.6
    • 4.47. Changes in 0.6.5
    • 4.48. Changes in 0.6.4
    • 4.49. Changes in 0.6.3
    • 4.50. Changes in 0.6.2
    • 4.51. Changes in 0.6.1
    • 4.52. Changes in 0.6
    • 4.53. Changes in v0.5.2
    • 4.54. Changes in v0.5.1
    • 4.55. Changes in v0.5
    • 4.56. Changes in v0.4
    • 4.57. Changes in v0.3
    • 4.58. Changes in v0.2.2
    • 4.59. Changes in v0.2.1
    • 4.60. Changes in v0.2
    • 4.61. Changes in v0.1.3
    • 4.62. Changes in v0.1.2
    • 4.63. Changes in v0.1.1
  • 5. Upgrading
    • 5.1. 0.11.0
    • 5.2. 0.10.8
    • 5.3. 0.10.7
    • 5.4. 0.9.0
    • 5.5. 0.8.7
    • 5.6. 0.8.2 to 0.8.3
    • 5.7. 0.7 to 0.8
    • 5.8. 0.6 to 0.7
    • 5.9. 0.5 to 0.6
    • 5.10. 0.4 to 0.5
  • 6. Django Support
    • 6.1. Help Wanted!
 
MongoEngine
  • Docs »
  • 2.8. Text Search
  • View page source

2.8. Text Search¶

After MongoDB 2.4 version, supports search documents by text indexes.

2.8.1. Defining a Document with text index¶

Use the $ prefix to set a text index, Look the declaration:

class News(Document):
    title = StringField()
    content = StringField()
    is_active = BooleanField()

    meta = {'indexes': [
        {'fields': ['$title', "$content"],
         'default_language': 'english',
         'weights': {'title': 10, 'content': 2}
        }
    ]}

2.8.2. Querying¶

Saving a document:

News(title="Using mongodb text search",
     content="Testing text search").save()

News(title="MongoEngine 0.9 released",
     content="Various improvements").save()

Next, start a text search using QuerySet.search_text method:

document = News.objects.search_text('testing').first()
document.title # may be: "Using mongodb text search"

document = News.objects.search_text('released').first()
document.title # may be: "MongoEngine 0.9 released"

2.8.3. Ordering by text score¶

objects = News.objects.search('mongo').order_by('$text_score')
Next Previous

© Copyright 2009, MongoEngine Authors.

Sphinx theme provided by Read the Docs