【问题标题】:Cassandra & Solr Join 2 CoresCassandra 和 Solr 加入 2 个核心
【发布时间】:2018-03-19 20:19:40
【问题描述】:

我有 2 个具有相同分区键的 Cassandra 模型:

CREATE TABLE users(
    parent_id int,
    user_id text,
    PRIMARY KEY ((parent_id), user_id )
);

CREATE TABLE user_actions(
    parent_id int,
    user_id text,
    type text,
    created_at int,
    data map<text, text>,
    PRIMARY KEY((parent_id), user_id, created_at)
);

我想找出所有用户是如何做出一个动作并且属于同一个parent_id的。

现在我正在获取所有用户,即使他们没有采取行动,我也是这样使用它的:

http://ADDRESS/solr/name.users/select?q=parent_id:1&fq={!join+fromIndex=name.user_actions}type:click

谢谢!

【问题讨论】:

  • 查询q=parent_id:1&amp;fq=type:click 在直接针对name.user_actions 运行时是否返回您期望的结果?另外,您介意发布您正在运行的 DSE 版本,以及您的 schema.xml 和 solrconfig.xml(或 Solr 核心创建命令,如果您自动生成这些命令)?
  • 是的 "name.user_actions/select?q=type:action_type" 将结果返回给我。我正在使用 Cassandra 3.10.0.1652 | DSE 5.1.0。

标签: cassandra datastax-enterprise datastax-startup


【解决方案1】:

没有 'from' 和 'to' 参数来告诉 solr 它应该在哪些字段上进行连接,所以你的过滤器查询应该是这样的:

fq={!join from=user_id  fromIndex=name.user_actions to=user_id force=true}type:click

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2014-10-11
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多