【问题标题】:is there any trick to do wildcards search on apache cassandra?在 apache cassandra 上进行通配符搜索有什么技巧吗?
【发布时间】:2010-07-06 04:36:37
【问题描述】:

我需要在 apache cassandra 上做这样的事情, SELECT * FROM mytable where address = "%indonesia%"

知道如何在 cassandra 上执行此操作吗?

【问题讨论】:

  • 我希望这可能与列名有关...希望在未来的版本中可以实现

标签: database nosql cassandra


【解决方案1】:

它不支持开箱即用。您必须维护自己的索引。

我建议使用“超列索引”或结合范围查询使用顺序保留分区器(例如 org.apache.cassandra.dht.OrderPreservingPartioner)。

看看 Benjamin Black 关于 cassandra 和 index 的精彩演讲中的 the slides

【讨论】:

    【解决方案2】:

    补充一下 Schildmeijer 所说的话,除非您做很多额外的工作,否则您可能不会在 Cassandra 中获得相当于“%indonesia%”通配符搜索的功能。 “indonesia%”或“%indonesia”(或“aisenodni%”)在您为此类搜索创建的特殊索引上使用范围查询会容易得多。 Schildmeijer 链接的幻灯片描述了如何在高层次上设置这种搜索。

    如果您正在寻找存储在 Cassandra 中的文本块中的全文搜索,您可能会查看类似 Lucene 的东西来维护一个索引,该索引可用于对文本中的字符串进行某些类型的搜索。我对细节不太熟悉,但以下两个链接在这里可能会有所帮助:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2013-08-28
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      相关资源
      最近更新 更多