Hi all,

this one's a bit convoluted and I'm not sure where to look nor how to best describe this:

- we have a "master" table with a bunch of values incl. price, and a few "detail" tables with other attributes.

- For the price, there is a dynamic field price_c____s. As far as I can see it's constructed as dynamic field *_s (string) from dynamic field *_c (currency) from copyfield price (float) -> price_c. (And I don't see where the other 3 underscores in price_c____s come from.)

For Solr import,
- when I run the query on the master table, and a subquery on each row, then post a document like '{ "id" : foo, "price" : bar, "detail" : [blah, bleh] }' it works fine.

- When I run the master query and post documents like '{ "id" : foo, "price" : bar }', then run the detail query and post documents like '{ "id" : foo, "detail" : { "add-distinct" : blah }', I get 'SolrException: ERROR: [doc=foo] multiple values encountered for non multiValued field price_c____s" [USD, USD]'

(Note that "USD" is the default currency, it is not explicitly added anywhere.)

Price is not part of any detail queries so AFAICT they shouldn't be triggering the copyfileld/dynamicfield rules involved. Yet it looks like the *_s dynamicField rule is trying to run on price_c again? There's nowhere else that duplicate "USD" can come from.

Does this ring any bells, anyone?

(Note that this "worked" with the stock Java DIH presumably because it had "onerror=continue" -- now that I'm POST'ing docs I get a 404 that I can't ignore quite as easily.)

Dima

Reply via email to