Atlas Search
156 results found
-
Support Collation for Atlas search sort
I have a use case to sort by product names (strings). We have products that start with letters and some that start with numbers. Currently, the products that begin with numbers are always at the top when you sort in ascending order. We would like to sort alphanumerically so that the products beginning with letters are displayed first and those with numbers at the very end.
It would therefore be nice if the $search operator could support collations with the sort parameter.
See: https://www.mongodb.com/community/forums/t/atlas-search-sort-with-collation-locale/269296/510 votes -
Atlas Search Local Deployment Lucene Indexing Latency of 1s
We are unit testing our Java application using the (awesome!) Atlas Search Local Deployments.
However, we are seeing a longer delay than we'd like between the time we add data to a collection and the time it is searchable in the Atlas Search Lucene index.
It is almost always uniformly 1 second.
Here's a unit test that demonstrates the issue:
https://github.com/luketn/atlas-search-unit-test-latency-issue/blob/main/src/test/java/com/mycodefu/MainTest.java#L95This should take a few milliseconds to run, but it will take almost exactly a minute.
Each iteration of the loop in the test will take almost exactly 1s.
The first iteration will usually be shorter, because we start…
4 votes -
Support filtering by empty array
Atlas Search should support matching a fields set to an empty array. This behavior is not supported by either of the
exists
,equals
, orin
operators, and is a very common use case.https://search-playground.mongodb.com/tools/code-playground/snapshots/668bd0688e71d69d70fc71dd
3 votes -
Ability to choose what to dynamically index
When using dynamic mapping, it would be useful for better control on the index to allow choosing which index types are created.
Exemple:
dynamic: true // Map all fields
dynamic: false // Don't use dynamic mapping
dynamic: ["string","bool"] // Only use dynamic mapping to create string indexes and boolean indexesAlso, why can't Token indexes be indexes dynamically? I assume it's to avoid making the index too big, but I think it should be allowed optionally to facilitate sorting and filtering on string fields that may not be known at the moment of creating the index.
3 votes -
Allow type 'token' in embeddedDocument
Currently, string fields in an embedded document may be indexed as type 'string' using an analyzer, e.g. lucene.keyword. It is not possible, to index a string field in an embedded document as type 'token'.
Indexing as type 'token' is relevant for using a 'range'-operator in a query or to sort by a string field. This is would be very useful when working with sortable strings.
1 vote -
Support sorting on fields of matching embedded documents
The Atlas search functionality allows matching and returning embedded documents from within array fields. However, there is currently no way to sort the results based on a field within the matching embedded documents.
This presents problems for queries where we want deterministic sorting based on an embedded field, rather than using a score-based sort which can have inaccuracies for large values, see https://www.mongodb.com/community/forums/t/function-score-result-in-inaccurate-score/296014
For example, consider data with an "items" array containing embedded documents, where we want to sort the results based on the "number" field within the matching embedded docs. Currently we have to assign this to the score,…
1 vote -
1 vote
-
Implement basic aritmetic operations for the Decimal128 datatype
Feature Request:
Implement basic aritmetic operations (e.g. addition) for the Decimal128 datatype.Context:
I am working with high precision floats in Python and I am storing my data in MongoDB. When I get a high precision float out of MongoDb, I then need to convert it to the native Python decimal datatype before I can do basic arithmetic like addition. It would be great if your Decimal128 datatype supported the same mathematical operations as Python's decmial datatype. I documented this issue and provided sample code to work around the limitations here:https://github.com/NadimGhaznavi/kb/wiki/Handling-Floating-Point-Math-with-Python-and-MongoDb
Love your product, keep up the awesome work!!!…
1 vote -
Implement basic aritmetic operations for the Decimal128 datatype
Feature Request:
Implement basic aritmetic operations (e.g. addition) for the Decimal128 datatype.Context:
I am working with high precision floats in Python and I am storing my data in MongoDB. When I get a high precision float out of MongoDb, I then need to convert it to the native Python decimal datatype before I can do basic arithmetic like addition. It would be great if your Decimal128 datatype supported the same mathematical operations as Python's decmial datatype. I documented this issue and provided sample code to work around the limitations here:https://github.com/NadimGhaznavi/kb/wiki/Handling-Floating-Point-Math-with-Python-and-MongoDb
Love your product, keep up the awesome work!!!…
1 vote -
Allow to configure/adjust the number of nodes within a regions in a multi-region Atlas search cluster
Today, i enabled an isolated search node cluster with 2 nodes for one of our cluster which is an multi-region cluster with 4 nodes in N.Virginia and 1 node in Oregon. I can see that search node cluster has added 2 nodes in N.Virginia and 2 nodes in Oregon.
We use N.Virginia as our primary region and Oregon as our secondary region mainly considering it (Oregon) only for Disaster recovery purposes, so having 2 search nodes in Oregon will not be of much use for us, and I don't see an option in the mongoDB Atlas console to configure the…1 vote -
Non-sequential or Deep Pagination
I want to be able to paginate results in non-sequential order, e.g. Skip from page 1 to 5, or skip from first to last page of results
5 votes -
2 votes
-
Atlas Search aggregation pipeline TypeScript type definitions
It would be so much easier to write aggregation pipelines if we had type checking and type hinting.
At this moment we can pass any JSON there. There is no driver or library that would check if it's correct or that would type check the input.
I'm attaching some screenshots that show how it could work.
3 votes -
Ability to Upsert an Atlas Search Index
Currently, it is possible to use
createSearchIndex
andupdateSearchIndex
to create and update search indexes, respectively. It would be beneficial if theupdateSearchIndex
allowed for upsert functionality, so that if the index does not exist, it can be created. This functionality would be useful in certain scenarios where the indexes are created (if they don't exist) or updated (if they do exist) programmatically, which have to rely on implementing a custom if-else logic by leveraginggetSearchIndexes()
.5 votes -
Atlas Search for time series collections
It would be nice if we could use atlas search on a time series collection
1 vote -
Atlas Search equivalent for "should" but ignoring score
Currently to perform an "OR" check in an Atlas Search query the only available operator is "should" which contributes to score.
I propose "ought" the equivalent operator, but doesn't contribute to score.
Alternatively, I suggest an option to $search to omit score entirely, this could offer a little performance boost on large document set by removing the need to track score when it is not needed.
1 vote -
Provide the ability to auto-scale dedicated search nodes
Currently, dedicated search nodes in Atlas Search cannot be auto-scaled. This is a feature request to introduce the ability to auto-scale dedicated search nodes.
5 votes -
2 votes
-
Increase the disk size limit of 3.2 TB on Search tier.
Atlas search tier limits the disk size to 3.2 TB even on the highest search tier S110.
2 votes -
Compatibility with shard reduction
We are using Atlas Search (as a sidecar process) and aren't able to reduce the number of our shards without causing downtime to Atlas Search. A shard mechanism that's compatible with Atlas Search is necessary for us to optimize our costs.
2 votes
- Don't see your idea?