【问题标题】:How do I see SOLR dynamic fields in CQL with Cassandra?如何使用 Cassandra 在 CQL 中查看 SOLR 动态字段?
【发布时间】:2014-01-24 02:30:09
【问题描述】:

Solr 动态字段在 Solr 中显示为可搜索并且在 Thrift 界面中可用,但在使用 CQL 时,这些字段不会出现。是否有特定的搜索样式或查询样式可用于公开动态字段是什么及其值?

【问题讨论】:

    标签: solr cassandra datastax-enterprise


    【解决方案1】:

    通过 CQL3 动态字段应该也能正常工作,但有一些注意事项。

    1. 您需要将类型声明为映射(例如:dyn_map)并创建 CQL 架构。
    2. 使用声明的动态类型发布您的架构。
    3. 动态部分不是通过容器(地图)的名称在地图内推断出来的。所以你需要在数据中包含动态部分。这也意味着关键部分必须是文本类型。

    所以在上面的示例中,您将拥有一个如下所示的地图:

    'dyn_' : {dyn_1 : 1, dyn_2 : 2, dyn_3 : 3}
    

    将来我们会讨论取消对文本类型的限制并允许其他类型,但现在它是如何用于索引的。

    我们也使用特殊字段来存储动态字段名,这个查询:

    '_dynFld:dyn_1'
    

    应该从上面的例子返回一个结果。

    【讨论】:

    • 值得注意的是,这仅在模式是使用 CQL 创建而不是由 SOLR 创建的情况下才有效(我的问题就是这种情况)。解决此问题的唯一方法是使用 CQL 3 创建表并从头开始重新加载所有数据。
    猜你喜欢
    • 2019-01-19
    • 1970-01-01
    • 2014-11-15
    • 2015-03-18
    • 2019-05-18
    • 1970-01-01
    • 2018-01-09
    • 2014-02-04
    • 2010-10-17
    相关资源
    最近更新 更多