Hi all, 


New to ES here. I am currently working on an open source project called *PoE 
Merchant*.

It is a "forum shops" indexer for a game called *Path of Exile.*

I have an issue and a question below. But I would really appreciate any further 
advice on how should I proceed.


*Project goals:*


   1. Index all the "Items for sale" in *Path of Exile* forums shops (e.g. 
http://www.pathofexile.com/forum/view-forum/561).
      1. At least finish re/indexing every 15mins.
   2. Run application as a stand-alone Desktop (I'll use Java SE).
   3. Provide a Lightning fast search in a very convenient way.
   4. Provide some other Quality of Life features.

*So far, my setup is:*

   1. Windows 7
   2. Eclipse Luna 4.4.1
   3. Jsoup for parsing the HTML.
   4. ES 1.4
      1. start ES via elasticsearch.bat
   

*More context:*

   1. Path of Exile is a Free to Play Action RPG - it's like Diablo 3 but for 
hardcore gamers and it is not Pay to Win.
   2. Path of Exile only provides the forums for player to setup "Shops".
   3. A player makes a forum thread under on the shop subforums - 1 subforum 
will be equivalent to 1 Index.
   4. A thread contains 1 or more "Item for sale" - this will be my Document
   5. A player will update this shop thread and add new Items - this is why i 
need to re-index every x minutes.
   6. Here is a sample shop: 
http://www.pathofexile.com/forum/view-thread/1127160
      1. The bulk of the  data I'll need to index is located in the last 
<script> tag.
   


*Problem currently:*

The data I'm gonna be scraping from the forums is fortunately contained in a 
<script>. Currently I am trying things out and I encountered this issue am I 
curious of:


The following is valid JSON data, but am I getting a 
org.elasticsearch.index.mapper.MapperParsingException: failed to parse [x.user]

{

    "user": [

        0,

        {

            "x": 1

        }

    ]

}


Why can't elasticsearch index this? Is there a guide on what JSON 
format/structure to use for ES?
Given that one of my goals is fast index and fast search., are there any 
considerations regarding structuring my data?


*Full stack trace:*

org.elasticsearch.index.mapper.MapperParsingException: failed to parse 
[x.user]
at 
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:415)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:555)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeNonDynamicArray(ObjectMapper.java:686)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeArray(ObjectMapper.java:623)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:492)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.putDynamicMapper(ObjectMapper.java:661)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:581)
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:490)
at 
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:541)
at 
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:490)
at 
org.elasticsearch.index.shard.service.InternalIndexShard.prepareCreate(InternalIndexShard.java:392)
at 
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:198)
at 
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:511)
at 
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:419)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: unknown 
property [x]
at 
org.elasticsearch.index.mapper.core.LongFieldMapper.innerParseCreateField(LongFieldMapper.java:290)
at 
org.elasticsearch.index.mapper.core.NumberFieldMapper.parseCreateField(NumberFieldMapper.java:235)
at 
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:405)
... 16 more


Thanks a lot!
Thirdy

-- 
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/229d5b30-4e8c-4f30-b0ae-2492524e9290%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to