You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@predictionio.apache.org by Gustavo Frederico <gu...@thinkwrap.com> on 2016/10/11 01:24:56 UTC

Query for item and user?

  How can I query for recommendations for a given item and a given user?
For instance, considering the context of a product details page viewed by
the current shopper. I tried to simply set the Json to
{"user":"...","item":"..."} but I got the error below.  ( out-of-the-box
installation with no model customization )  I'm not sure if the scenario is
not supported, or if there's a problem with the query data.

Gustavo


2016-10-09 15:26:09,468 INFO  com.thinkwrap.parsley.ur1.URAlgorithm
[ForkJoinPool-2-worker-1] - Query received, user id:
Some(57D1B24662712CC7696219FA9304D22F), item id: Some(1934793)
2016-10-09 15:26:09,662 ERROR io.prediction.workflow.ServerActor
[pio-server-akka.actor.default-dispatcher-375] - Query:
{"user":"57D1B24662712CC7696219FA9304D22F","item":"1934793"}

Stack Trace:
org.elasticsearch.ElasticsearchIllegalArgumentException: Alias [urindex]
has more than one indices associated with it [[urindex_1474506677785,
urindex_1473114260084]], can't execute a single index op
        at
org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:792)
        at
org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:707)
        at
org.elasticsearch.cluster.metadata.MetaData.concreteSingleIndex(MetaData.java:763)
        at
org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:139)
        at
org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:116)
        at
org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction.doExecute(TransportShardSingleOperationAction.java:89)

Re: Query for item and user?

Posted by Pat Ferrel <pa...@occamsmachete.com>.
That is a documented feature here: http://actionml.com/docs/ur_queries <http://actionml.com/docs/ur_queries> Contextual Personalized With Similar Items. No longer experimental, it’s best used when you boost either user or personal above the other or use it to give item based when there is no user information.

The problem below can probably be solved by changing indexName in engine.json. You look to have gotten into a weird state.


On Oct 10, 2016, at 6:24 PM, Gustavo Frederico <gu...@thinkwrap.com> wrote:


  How can I query for recommendations for a given item and a given user? For instance, considering the context of a product details page viewed by the current shopper. I tried to simply set the Json to {"user":"...","item":"..."} but I got the error below.  ( out-of-the-box installation with no model customization )  I'm not sure if the scenario is not supported, or if there's a problem with the query data.

Gustavo


2016-10-09 15:26:09,468 INFO  com.thinkwrap.parsley.ur1.URAlgorithm [ForkJoinPool-2-worker-1] - Query received, user id: Some(57D1B24662712CC7696219FA9304D22F), item id: Some(1934793)
2016-10-09 15:26:09,662 ERROR io.prediction.workflow.ServerActor [pio-server-akka.actor.default-dispatcher-375] - Query:
{"user":"57D1B24662712CC7696219FA9304D22F","item":"1934793"}

Stack Trace:
org.elasticsearch.ElasticsearchIllegalArgumentException: Alias [urindex] has more than one indices associated with it [[urindex_1474506677785, urindex_1473114260084]], can't execute a single index op
        at org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:792)
        at org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:707)
        at org.elasticsearch.cluster.metadata.MetaData.concreteSingleIndex(MetaData.java:763)
        at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:139)
        at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:116)
        at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction.doExecute(TransportShardSingleOperationAction.java:89)