solr
solr copied to clipboard
SOLR-16287 : MapStream - remap tuple value(s)
https://issues.apache.org/jira/browse/SOLR-16287
Description
Enables atomic updates for update stream by remapping a value to tuple, solr will recognise the map as an atomic update, otherwise update stream simply overwrites. Normal Solr requirements for atomic/in-place updates are still necessary.
Solution
Remap from (k,v) => k -> newKey -> value
e.g. with
map(
From:
{"cand_id":5718,id:123,v_i:345}
To:
{ id:123, v_i:345, "cand_id": { "add-distinct": 5718 },
Tests
e.g.
With:
new UpdateRequest() .add(id, "1", "a_ss", "foo", "b_i", "1", "c_d", "3.3", "d_b", "true")
Then:
update(collection1,map(tuple(id="1",a_ss="bar"),"a_ss=add-distinct")) will add-distinct 'bar' to a_ss to then contain ['foo','bar']
Checklist
Please review the following and check all that apply:
- [x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
- [x] I have created a Jira issue and added the issue ID to my pull request title.
- [x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
- [x] I have developed this patch against the
mainbranch. - [ ] I have run
./gradlew check. - [x] I have added tests for my changes.
- [x] I have added documentation for the Reference Guide
Docs are looking nice!
I sent a note to dev mailing list to see if @joel-bernstein can review it ;-) If he can't, I can try, but it's just an area I haven't worked much in!
Let's give it another few days, and then, if I don't review/merge it, can you bug me? Say Thursday??? Thanks for this @danrosher
Will do @epugh . I'll be away for a week after that.
@epugh ping ;) slightly more than a week or so. anything left to do here?
FYI, Joel is going to merge this once the new jar for streaming is completed.
This PR had no visible activity in the past 60 days, labeling it as stale. Any new activity will remove the stale label. To attract more reviewers, please tag someone or notify the [email protected] mailing list. Thank you for your contribution!