Utf 8 Cassandra查询shell中有空格的文本值
我在尝试查询数据库时遇到问题,我的cassandra驱动程序脚本如下:Utf 8 Cassandra查询shell中有空格的文本值,utf-8,cassandra,cassandra-3.0,Utf 8,Cassandra,Cassandra 3.0,我在尝试查询数据库时遇到问题,我的cassandra驱动程序脚本如下: const query = 'CREATE TABLE IF NOT EXISTS test.RestaurantMenuItems ' + '(id UUID, restaurantId varchar, menuName text, menuCategoryNames text, menuItemName text, menuItemDescription text, menuItemPrice decimal, P
const query = 'CREATE TABLE IF NOT EXISTS test.RestaurantMenuItems ' +
'(id UUID, restaurantId varchar, menuName text, menuCategoryNames text, menuItemName text, menuItemDescription text, menuItemPrice decimal, PRIMARY KEY (id))';
return client.execute(query);
我不知道如何查询所涉及的空格
使用该模式,您只能在
id
上进行选择,而不能在restaurantId id上进行选择。要满足该查询,C*必须从每个节点读取整个数据集。如果这是一个查询,您可能希望生成如下表:
CREATE TABLE IF NOT EXISTS test.items_by_restaurant (
restaurant_id varchar,
menu_name text,
menu_category_name text,
menu_item_name text,
menu_item_description text,
menu_item_price decimal,
PRIMARY KEY ((restaurantId), menu_name, menu_category_name, menu_item_name)
);
使用该模式,您只能在
id
上进行选择,而不能在restaurantId id上进行选择。要满足该查询,C*必须从每个节点读取整个数据集。如果这是一个查询,您可能希望生成如下表:
CREATE TABLE IF NOT EXISTS test.items_by_restaurant (
restaurant_id varchar,
menu_name text,
menu_category_name text,
menu_item_name text,
menu_item_description text,
menu_item_price decimal,
PRIMARY KEY ((restaurantId), menu_name, menu_category_name, menu_item_name)
);
根据您的屏幕截图,这不是一个带有空格的文本问题。如果在文本中添加空格,它将与其他字符一样被视为一个字符。正如@Chris前面提到的,您正在使用一个不是分区键或没有索引的列进行查询。您需要在查询中使用“允许筛选”来获取不推荐的数据。尝试在要查询的列上创建索引
create index on restaurantmenuitems (restaurantid) ;
我正在附加一个屏幕截图 根据您的屏幕截图,这不是带有空格的文本问题。如果在文本中添加空格,它将与其他字符一样被视为一个字符。正如@Chris前面提到的,您正在使用一个不是分区键或没有索引的列进行查询。您需要在查询中使用“允许筛选”来获取不推荐的数据。尝试在要查询的列上创建索引
create index on restaurantmenuitems (restaurantid) ;
我正在附加一个屏幕截图 我对此没有意见,但我只是想知道为什么shell命令不会将空格“”作为空格来读取。如果我在没有空格的情况下查询任何其他文本值,它将查询并返回我需要的所有内容。架构和查询是导致错误的原因,而不是空格。我对此没有意见,但我只是想知道为什么shell命令不会将空格“”读作空格。如果我在没有空格的情况下查询任何其他文本值,它将查询并返回我需要的所有内容。架构和查询是导致错误的原因,而不是空格。