Here’s an example of a document:
{
"_id": ObjectId("6597454ad9ded52fecd5d7da")
"name": "Dell XPS 17 9730 Laptop 17 Inches | LCD Display | 3840 x 2400 Pixels Display resolution | 14 cores | Intel Core i7 13700H CPU | Nvidia Geforce RTX 4050 Graphics | DDR5 | 16 GB RAM | 512 GB Storage | Windows 11 Home"
}
And here’s my search pipeline stage:
{"$search": {
"index": "SomeAtlasSearchIndex",
"autocomplete": {
"query": "dell xps 17 9730 core i7",
"path": "name",
"tokenOrder": "sequential",
}
}}
And I use Tokenization ‘edgeGram’, and the analyzer is ‘lucene.standard’.
When I run the query above it doesn’t return documents like above, because some tokens are not appear adjacent.
Since “tokenOrder: sequential” is used, tokens in the query must appear adjacent to each other or in the order specified in the query in the documents.
And it means I cannot find documents when tokens are sequential, but they are not appear adjacent.
To Cut a long story short, I need some solution that will require so tokens to be sequential, but they don’t necessarily have to be next to each other.
Is it possible?