Commit 1ab15af
authored
Fix copy_to functionality for geo_point fields with object/array values (opensearch-project#20542)
This change enables copy_to functionality for geo_point fields when
they are represented as objects or arrays. Previously, copy_to would
fail for geo_point fields because the parser consumed tokens during
the initial parse, leaving nothing for the copy_to operation.
The fix serializes complex field values (objects/arrays) to bytes
before parsing, allowing the same data to be parsed multiple times
for both the original field and copy_to targets.
Changes:
- Add parseFieldWithCopyTo() method to handle field parsing with
copy_to support for both simple and complex value types
- Add parseChildToBytes() helper to serialize current parser state
- Extend parseCopyFields() to accept byte array for reparsing
- Add test case for geo_point with copy_to attribute
Signed-off-by: krocky-cooky <kurotaku9679.sub@gmail.com>
Signed-off-by: Takuo Kuroki <kurotaku9679.sub@gmail.com>1 parent 564cbee commit 1ab15af
File tree
4 files changed
+141
-6
lines changed- server/src
- main/java/org/opensearch/index/mapper
- test/java/org/opensearch/index/mapper
4 files changed
+141
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
Lines changed: 62 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| 47 | + | |
46 | 48 | | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
766 | 769 | | |
767 | 770 | | |
768 | 771 | | |
769 | | - | |
770 | | - | |
| 772 | + | |
771 | 773 | | |
772 | 774 | | |
773 | 775 | | |
| |||
847 | 849 | | |
848 | 850 | | |
849 | 851 | | |
850 | | - | |
851 | | - | |
| 852 | + | |
852 | 853 | | |
853 | 854 | | |
854 | 855 | | |
| |||
1339 | 1340 | | |
1340 | 1341 | | |
1341 | 1342 | | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
1342 | 1358 | | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
1343 | 1367 | | |
1344 | 1368 | | |
1345 | 1369 | | |
| |||
1353 | 1377 | | |
1354 | 1378 | | |
1355 | 1379 | | |
1356 | | - | |
| 1380 | + | |
1357 | 1381 | | |
1358 | 1382 | | |
1359 | 1383 | | |
1360 | 1384 | | |
1361 | 1385 | | |
1362 | | - | |
| 1386 | + | |
1363 | 1387 | | |
1364 | 1388 | | |
1365 | 1389 | | |
| |||
1530 | 1554 | | |
1531 | 1555 | | |
1532 | 1556 | | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
1533 | 1589 | | |
1534 | 1590 | | |
1535 | 1591 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
703 | 712 | | |
704 | 713 | | |
705 | 714 | | |
| |||
Lines changed: 69 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3505 | 3505 | | |
3506 | 3506 | | |
3507 | 3507 | | |
| 3508 | + | |
| 3509 | + | |
| 3510 | + | |
| 3511 | + | |
| 3512 | + | |
| 3513 | + | |
| 3514 | + | |
| 3515 | + | |
| 3516 | + | |
| 3517 | + | |
| 3518 | + | |
| 3519 | + | |
| 3520 | + | |
| 3521 | + | |
| 3522 | + | |
| 3523 | + | |
| 3524 | + | |
| 3525 | + | |
| 3526 | + | |
| 3527 | + | |
| 3528 | + | |
| 3529 | + | |
| 3530 | + | |
| 3531 | + | |
| 3532 | + | |
| 3533 | + | |
| 3534 | + | |
| 3535 | + | |
| 3536 | + | |
| 3537 | + | |
| 3538 | + | |
| 3539 | + | |
| 3540 | + | |
| 3541 | + | |
| 3542 | + | |
| 3543 | + | |
| 3544 | + | |
| 3545 | + | |
| 3546 | + | |
| 3547 | + | |
| 3548 | + | |
| 3549 | + | |
| 3550 | + | |
| 3551 | + | |
| 3552 | + | |
| 3553 | + | |
| 3554 | + | |
| 3555 | + | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
| 3559 | + | |
| 3560 | + | |
| 3561 | + | |
| 3562 | + | |
| 3563 | + | |
| 3564 | + | |
| 3565 | + | |
| 3566 | + | |
| 3567 | + | |
| 3568 | + | |
| 3569 | + | |
| 3570 | + | |
| 3571 | + | |
| 3572 | + | |
| 3573 | + | |
| 3574 | + | |
| 3575 | + | |
| 3576 | + | |
3508 | 3577 | | |
0 commit comments