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.
