Grokbase Groups Lucene dev May 2011
FAQ
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: clients - java, contrib - DataImportHandler
Affects Versions: 3.1
Environment: Windows Vista
Java 1.6
Reporter: Lubo Torok


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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org

Search Discussions

  • Sami Siren (Updated) (JIRA) at Apr 17, 2012 at 9:45 am
    [ https://issues.apache.org/jira/browse/SOLR-2483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Sami Siren updated SOLR-2483:
    -----------------------------

    Component/s: (was: clients - java)
    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
    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 is automatically generated by JIRA.
    If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
    For more information on JIRA, see: http://www.atlassian.com/software/jira



    ---------------------------------------------------------------------
    To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
    For additional commands, e-mail: dev-help@lucene.apache.org

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdev @
categorieslucene
postedMay 2, '11 at 10:20a
activeApr 17, '12 at 9:45a
posts2
users1
websitelucene.apache.org

1 user in discussion

Sami Siren (Updated) (JIRA): 2 posts

People

Translate

site design / logo © 2022 Grokbase