[ https://issues.apache.org/jira/browse/SOLR-2483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexandre Rafalovitch reassigned SOLR-2483: ------------------------------------------- Assignee: Alexandre Rafalovitch > DIH - an uppercase problem in query parameters > ---------------------------------------------- > > Key: SOLR-2483 > URL: https://issues.apache.org/jira/browse/SOLR-2483 > Project: Solr > Issue Type: Bug > Components: contrib - DataImportHandler > Affects Versions: 3.1 > Environment: Windows Vista > Java 1.6 > Reporter: Lubo Torok > Assignee: Alexandre Rafalovitch > Labels: DataImportHandler, entity, newdev, parameter, sql > > I have two tables called "PROBLEM" and "KOMENTAR"(means 'comment' in English) > in DB. One problem can have more comments. I want to index them all. > schema.xml looks as follows > ... some fields ... > <field name="problem_id" type="string" stored="true" required="true"/> > ... some fields... > data-config.xml: > <document name="problemy"> > <entity name="problem" query="select to_char(id) as problem_id, nazov as > problem_nazov, cislo as problem_cislo, popis as problem_popis from problem" > pk="problem_id"> > <entity name="komentar" query="select id as komentar_id, nazov as > komentar_nazov, text as komentar_text from komentar where > to_char(fk_problem)='${problem.PROBLEM_ID}'"/> > </entity> > </document> > If you write '${problem.PROBLEM_ID}' in lower case, i.e. > '${problem.problem_id}' SOLR will not import the inner entity. Seems strange > to me and it took me some time to figure this out. > Note that primary key in "PROBLEM" is called "ID". I defined the alias > "problem_id" (yes,lower case) in SQL. In schema, there is this field defined > as "problem_id" again in lower case. But, when I run > http://localhost:8983/solr/dataimport?command=full-import&debug=true&verbose=on > so I can see some debug information there is this part > ... > <lst name="verbose-output"> > − > <lst name="entity:problem"> > − > <lst name="document#1"> > − > <str name="query"> > select to_char(id) as problem_id, nazov as problem_nazov, cislo as > problem_cislo, popis as problem_popis from problem > </str> > <str name="time-taken">0:0:0.465</str> > <str>----------- row #1-------------</str> > <str name="PROBLEM_NAZOV">test zodpovedneho</str> > <str name="PROBLEM_ID">2533274790395945</str> > <str name="PROBLEM_CISLO">2010093000004</str> > <str name="PROBLEM_POPIS">csfdewafedewfw</str> > <str>---------------------------------------------</str> > − > <lst name="entity:komentar"> > − > <str name="query"> > select id as komentar_id, nazov as komentar_nazov, text as komentar_text from > komentar where to_char(fk_problem)='2533274790395945' > </str> > ... > where you can see that, internally, the fields of "PROBLEM" are represented > in uppercase despite the user (me) had not defined them this way. The result > is I guess that parameter referring to the parent entity ${entity.field} > should always be in uppercase, i.e. ${entity.FIELD}. > Here is an example of the indexed entity as written after full-import command > with debug and verbose on: > <arr name="documents"> > − > <lst> > − > <arr name="problem_nazov"> > <str>test zodpovedneho</str> > </arr> > − > <arr name="problem_id"> > <str>2533274790395945</str> > </arr> > − > <arr name="problem_cislo"> > <str>2010093000004</str> > </arr> > − > <arr name="problem_popis"> > <str>csfdewafedewfw</str> > </arr> > − > <arr name="komentar_id"> > <str>java.math.BigDecimal:5066549580791985</str> > </arr> > − > <arr name="komentar_text"> > <str>a.TXT</str> > </arr> > </lst> > here are the field names in lower case. I consider this as a bug. Maybe I am > wrong and its a feature. I work with SOLR only for few days. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org