Hi Jorg,
I believe that there is difference between normal string mapping and
dynamic array mapping using bracket notation in elastic search . If we do
normal string type for "ListofDescriptionIds" in elastic search where i can
find exact difference in searching data in dynamic array and normal string
field in elastic search.
Dynamic array of type string in elasticsearch.
"ListofDescriptionIDs": [
"10",
"20",
"61",
"71",
"73",
"74",
"77",
"110",
"116"
]
Normal string notation:
"ListofDescriptionIDs": "10,20,61,71,73,74,77,110,116"
Thanks
phani
On Tuesday, October 7, 2014 5:58:02 PM UTC+5:30, Jörg Prante wrote:
>
> Yes, in the mapping, the JDBC river automatically sets field type
> "string". This is because the bracket notation mode does not examine the
> exploded values for types like integer but simply assumes "string".
> "string" is ok for search.
>
> If you want numeric values with type "integer" you have to define the
> mapping for field "ListofDescriptionIDs" manually before the river
> auto-creates it. ES will then coerce the values into "integer".
>
> Jörg
>
>
> On Tue, Oct 7, 2014 at 2:10 PM, <[email protected] <javascript:>>
> wrote:
>
>> Hi Jorg,
>>
>> Thanks for the reply.The list of DescriptionIds is a string field it
>> contains data " 10,20,24,56,78,90,87" as a string in database table for one
>> record.
>>
>> The following is the mapping information for the above descriptionIds
>> in elasticsearch.
>>
>> {
>> "temp_new": {
>> "mappings": {
>> "tempv1new": {
>> "properties": {
>> "GenericDescription": {
>> "type": "string"
>> },
>> "GenericId": {
>> "type": "string"
>> },
>> "GroupNo": {
>> "type": "string"
>> },
>> "ListofDescriptionIDs": {
>> "type": "string"
>> }
>> }
>> }
>> }
>> }
>> }
>>
>> If listofDescriptionIds is a string please post me what
>> are our alternatives. if I create index like this(as said before ==> array
>> mapping) will it be searchable field.
>> Thanks,
>>
>> phani
>>
>>
>> On Tuesday, October 7, 2014 5:05:58 PM UTC+5:30, Jörg Prante wrote:
>>>
>>> Is the database field for "ListofDescriptionIDs" a numeric field? This
>>> would be interesting because the river should map JDBC integers to JSON
>>> integers automatically.
>>>
>>> You have the following options to enforce integer type:
>>>
>>> - create index before running the river, together with desired mappings
>>> (preferred)
>>>
>>> - declare an index type mapping in the JDBC river definition with
>>> `type_mapping` parameter
>>>
>>> Jörg
>>>
>>>
>>> On Tue, Oct 7, 2014 at 1:20 PM, <[email protected]> wrote:
>>>
>>>> Hi Jorg,
>>>>
>>>> Thanks for quick reply. I tried the bracket notation from the river
>>>> query itself .I tried the following query and got the result.
>>>>
>>>> " SELECT GenericDescription,GenericId,GroupNo,ListofDescriptionIDs
>>>> AS `ListofDescriptionIDs[]` FROM temp"
>>>>
>>>> it worked for me for list of descriptionIDs it is created as array.
>>>>
>>>> {
>>>> "_index": "test",
>>>> "_type": "testv1",
>>>> "_id": "uYTwn2iBSKGBPt0Auz834w",
>>>> "_score": 1,
>>>> "_source": {
>>>> "GenericDescription": "test",
>>>> "GenericId": "1",
>>>> "GroupNo": "35",
>>>> "ListofDescriptionIDs": [
>>>> "10",
>>>> "20",
>>>> "61",
>>>> "71",
>>>> "73",
>>>> "74",
>>>> "77",
>>>> "110",
>>>> "116"
>>>> ]
>>>> }
>>>> },
>>>>
>>>> the mapping directly created by river itself in es server. the
>>>> type for ListofDescriptionIDs created as "string".but it is taking data as
>>>> arrays from query. is this "string " is correct for the
>>>> ListofDescriptionIDs field. eventhough we declared as string how ES
>>>> consider as array for this field?
>>>>
>>>>
>>>> Thanks,
>>>> phani.
>>>>
>>>>
>>>>
>>>> On Monday, October 6, 2014 7:25:26 PM UTC+5:30, Jörg Prante wrote:
>>>>>
>>>>> The mail is hard to read, the layout is scrambled.
>>>>>
>>>>> For simple integer array, you do not need type "nested".
>>>>>
>>>>> What is the SQL statement you tried for JDBC river? You have seen the
>>>>> examples for bracket notation?
>>>>>
>>>>> Jörg
>>>>>
>>>>>
>>>>> On Mon, Oct 6, 2014 at 2:04 PM, <[email protected]> wrote:
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I have a scenario like, I need to build an index with four fields
>>>>>> (Generic Description,GenericId ,GroupNo, List of Catalogsids ).
>>>>>>
>>>>>> Here is sample example of mysql table.
>>>>>>
>>>>>> Generic Description GenericId GroupNo
>>>>>> List of Catalogsids FrameKit
>>>>>> 1 35 10,20,24,56,78,90,87 Pulley 3480 23 36 Bypass Pulley
>>>>>>
>>>>>> 4133 7 55
>>>>>>
>>>>>>
>>>>>>
>>>>>> The fourth column in above table field contains multiple values for
>>>>>> one row. Now i want to create index using above mysql table via river
>>>>>> concept so that fourth column in the table sholud be represented as
>>>>>> array in elastic search i tried this concept but i am not getting a good
>>>>>> way to solve this.please help me in this.
>>>>>>
>>>>>> Mapping i used:
>>>>>>
>>>>>> PUT /temp
>>>>>> {
>>>>>> "mappings": {
>>>>>> "tempv1" : {
>>>>>> "properties" : {
>>>>>> "GenericDescription" : {"type" : "string"},
>>>>>> "GenericId" : {"type" : "string"},
>>>>>> "GroupNo" : {"type" : "string"},
>>>>>> "descriptionids" : {
>>>>>> "type" : "nested",
>>>>>> "properties" : {
>>>>>> "ListofDescriptionIDs" : {"type" : "integer"}
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> Thanks in advance.
>>>>>> phani srinivas
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "elasticsearch" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>>> msgid/elasticsearch/c81e61d2-c73d-42f9-82ac-86ced59f7316%40goo
>>>>>> glegroups.com
>>>>>> <https://groups.google.com/d/msgid/elasticsearch/c81e61d2-c73d-42f9-82ac-86ced59f7316%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "elasticsearch" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/elasticsearch/9d1abbe3-d63d-435c-8a48-44b6bfb11144%
>>>> 40googlegroups.com
>>>> <https://groups.google.com/d/msgid/elasticsearch/9d1abbe3-d63d-435c-8a48-44b6bfb11144%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elasticsearch/d0b5771b-f227-43df-9fa2-9928bd7888bd%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/elasticsearch/d0b5771b-f227-43df-9fa2-9928bd7888bd%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/4761615e-5221-47f9-b5b6-a9aa686b038a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.