Mijn vraag
Ik ben bezig met een project die gebruikt maakt van json. ik heb de binarysearch met een where voor 1 record gebruiksklaar maar wil nu ook lijsten gaan teruggeven.
-index triggerd binary search indexes van de where properties.
-where !==q vergelijking zorgt voor extra indexes en sortering van properties: #class, name & uuid
resulteert in:
Nu doe ik de lijsten op de volgende manier:
hij haalt met binary search het eerste record op. veranderd daarna de query met een "not-in" lijst met uuid's van de reeds gevonden records.
Echter kom ik er nog niet helemaal uit qua sortering en gedachte van verder uitvoeren. op het moment hij een not-in heeft, veranderd het gedrag van het ophalen van de records. Nu heb ik met chat gtp en github copilot iets geprobeerd, maar kwam met de oplossing om eerst links van de gevonden "binary search record" verder te kijken, dus left -1 totdat je aan het begin bent. en daarna rechts van de gevonden de gevonden "binary search record" te kijken.
Ik zou graag weten of dit juist is, want kreeg middels een andere methode maximaal "de diepte van binarysearch als aantal records terug" voordat ie links en rechts ging uitvoeren.
Mij lijkt het beter om de "nearest-neighbor" strategy te gaan toepassen, namelijk beginnen met 1 linkse record, daarna 1 rechtse record, 2e linkse record, 2e rechtse record totdat ie het aantal heeft bereikt.
Toch zal de volgorde ook niet kloppen met de huidige manier (eerst links, daarna rechts) ofdan wel "nearest-neighbor" dus ik zal een sort moeten doen op het resultaat.
Iemand tips/ ervaring met dit soort complexe stof ?
Relevante software en hardware die ik gebruik
...
php & json
Bash
Wat ik al gevonden of geprobeerd heb
als ik op where zoek, kom ik alleen mysql tegen, waarin dit probleem is opgelost, maar ik de oplossing niet weet, binary search is werkend (voor limit 1 & page 1) maar ik weet niet goed waar ik op moet zoeken.
Dus mijn concrete vraag: welke strategy is beter: eerst links en daarna rechts, of nearest neighbor...
Voor de geïnteresseerden:
https://github.com/r3m-io/framework of
https://github.com/r3m-io/node en ja je mag er wat van vinden.
En de site ligt eruit omdat ik bezig ben met documentatie. Wil nog eerst een aantal dingen doen, en heb volgens mij nog geen gebruikers behalve mijzelf.
...
Ik ben bezig met een project die gebruikt maakt van json. ik heb de binarysearch met een where voor 1 record gebruiksklaar maar wil nu ook lijsten gaan teruggeven.
Bash:
1
2
3
4
5
6
7
8
9
| app r3m_io/node list -class=Account.Permission \ -page=7 \ -limit=100 \ -where[]="'#class' start 'Ac'" \ -where[]=and \ -where[]="'name' !== 'q'" \ -where[]=and \ -where[]="'uuid' !== 'q'" \ -index |
-index triggerd binary search indexes van de where properties.
-where !==q vergelijking zorgt voor extra indexes en sortering van properties: #class, name & uuid
resulteert in:
JSON:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| { "page": 7, "limit": 100, "count": 618, "max": 618, "list": [ { "uuid": "e0bcbad7-945c-4005-b800-6138f5b953e7", "#class": "Account.Permission", "name": "Task:create", "#index": 600 }, ... ], "where": [ { "attribute": "#class", "operator": "start", "value": "Ac" }, "and", { "attribute": "name", "operator": "!==", "value": "q" }, "and", { "attribute": "uuid", "operator": "!==", "value": "q" } ], "relation": false, "parse": false, "ramdisk": false, "mtime": 1717972295, "transaction": false, "duration": 598.1290340423584, |
Nu doe ik de lijsten op de volgende manier:
hij haalt met binary search het eerste record op. veranderd daarna de query met een "not-in" lijst met uuid's van de reeds gevonden records.
Echter kom ik er nog niet helemaal uit qua sortering en gedachte van verder uitvoeren. op het moment hij een not-in heeft, veranderd het gedrag van het ophalen van de records. Nu heb ik met chat gtp en github copilot iets geprobeerd, maar kwam met de oplossing om eerst links van de gevonden "binary search record" verder te kijken, dus left -1 totdat je aan het begin bent. en daarna rechts van de gevonden de gevonden "binary search record" te kijken.
Ik zou graag weten of dit juist is, want kreeg middels een andere methode maximaal "de diepte van binarysearch als aantal records terug" voordat ie links en rechts ging uitvoeren.
Mij lijkt het beter om de "nearest-neighbor" strategy te gaan toepassen, namelijk beginnen met 1 linkse record, daarna 1 rechtse record, 2e linkse record, 2e rechtse record totdat ie het aantal heeft bereikt.
Toch zal de volgorde ook niet kloppen met de huidige manier (eerst links, daarna rechts) ofdan wel "nearest-neighbor" dus ik zal een sort moeten doen op het resultaat.
Iemand tips/ ervaring met dit soort complexe stof ?

Relevante software en hardware die ik gebruik
...
php & json
Bash
Wat ik al gevonden of geprobeerd heb
als ik op where zoek, kom ik alleen mysql tegen, waarin dit probleem is opgelost, maar ik de oplossing niet weet, binary search is werkend (voor limit 1 & page 1) maar ik weet niet goed waar ik op moet zoeken.
Dus mijn concrete vraag: welke strategy is beter: eerst links en daarna rechts, of nearest neighbor...
Voor de geïnteresseerden:
https://github.com/r3m-io/framework of
https://github.com/r3m-io/node en ja je mag er wat van vinden.
En de site ligt eruit omdat ik bezig ben met documentatie. Wil nog eerst een aantal dingen doen, en heb volgens mij nog geen gebruikers behalve mijzelf.
...
[ Voor 5% gewijzigd door Anoniem: 80910 op 14-06-2024 15:18 . Reden: spelfouten ]