在MongoDB/mongoose'like'語句中是否存在類似於SQL語言的語句? 使用的單一原因是全文搜索的實現。'SQL'like'statement in mongodb
2
A
回答
7
MongoDB支持RegularExpressions。
0
考慮在應用程序級別創建一個將數據轉換爲標記(單詞)的腳本。然後將標記視爲標記,在這些標記上構建索引,然後像搜索標記一樣搜索標記。這就像創建一個倒排索引。
爲了更好地搜索文本,可以考慮使用Lucene代替MongoDB。
0
使用正則表達式:/^textforesarc $/i。只是不要忘記說再見的性能:)。 使用like模擬正則表達式搜索不會擊中自定義定義的索引。現在只支持開始。
2
兩種方式,我們可以使用Java API MongoDB的實現正則表達式:
表達式1: 我需要搜索開始在文檔字段串
String strpattern ="your regular expression";
Pattern p = Pattern.compile(strpattern);
BasicDBObject obj = new BasicDBObject()
obj.put("key",p);
例子:(考慮我想要搜索名稱以'a'開頭的任何地方)
String strpattern ="^a";
Pattern p = Pattern.compile(strpattern);
BasicDBObject obj = new BasicDBObject()
obj.put("name",p);
表達式2:
我需要搜索多個單詞在一個字段,你可以使用如下
String pattern = "\\b(one|how many)\\b";
BasicDBObject obj = new BasicDBObject();
//if you want to check case sensitive
obj.put("message", Pattern.compile(pattern,Pattern.CASE_INSENSITIVE));
2
雖然你可以使用正則表達式,你會不會在全文檢索獲得良好的性能,因爲一個包含查詢如/ text/不能使用索引。
一開始,查詢例如/^text/can可以使用索引。
如果您正在考慮全面搜索大規模的文本,請考慮MongoDB的Multi Key Search功能。
更新
由於MongoDB的V3.2,你也可以使用一個text index。
相關問題
- 1. $ sum in MongoDB query
- 2. MongoDB gui in python
- 3. Mongodb array in array
- 4. MongoDB datezone in timezone
- 5. Lazy Loading in MongoDb
- 6. mongodb fork in windows
- 7. MongoDB Dynamic $ in
- 8. mongoDb $ in with aggregate query
- 9. mongodb set null in update
- 10. mongodb orm/odm in .net?
- 11. MongoDB $ in with $和查詢
- 12. MongoDB Index in Memory with Sharding
- 13. 基於$ in的MongoDB索引?
- 14. $ sort invalidates $ skip in aggregation pipeline mongodb
- 15. field_type in library棚戶區mongodb
- 16. Mongodb sharded cluster $ in VS $或
- 17. Datediff in Criteria operator in spring-data-mongodb does not working
- 18. Aggregate not returns results,with user authentication in MongoDB
- 19. scala mongodb IN過濾器使用
- 20. 在C#中使用Mongodb $ in過濾器
- 21. NOT IN(SELECT * FROM X)等效於MongoDB
- 22. 用$ in查詢在mongodb中更新?
- 23. MongoDB中$ in的結果順序?
- 24. 結果基於$ sort in $ lookup mongodb
- 25. $ project和$ in中的mongodb查詢
- 26. 如何在mongoDB中合併$ in和$ regex?
- 27. 使用$ in和$ addtoSet更新數組Mongodb
- 28. 用$ in查詢mongodb不工作
- 29. MongoDB PHP使用$ in與數組
- 30. Node.js + mongoDB,mongojs $ in運算符錯誤