不支持的一致性级别:LOCAL_QUORUM支持的搜索一致性级别为:ONE,LOCAL_ONE

问题描述

使用cqlsh在dse 6.7上查询时遇到问题。

r = np.random.random(size=(1000,1000))
q = np.linspace(0,1,1001)
f = np.random.random(size=(r.shape[0],q.shape[0]))
%timeit y = myfunc(r,q,f)
#6.1 s ± 4 ms per loop (mean ± std. dev. of 7 runs,1 loop each)
%timeit y = myfunc_opt(r,f)
#1.26 s ± 18.6 ms per loop (mean ± std. dev. of 7 runs,1 loop each)
%timeit y = myfunc_opt_2(r,f)
#397 ms ± 2.69 ms per loop (mean ± std. dev. of 7 runs,1 loop each)

我的查询非常简单:

查询

Invalid Request: Error from server: code=2200 [Invalid query] message="Unsupported consistency level: LOCAL_QUORUM. Supported consistency levels for Search are: ONE,LOCAL_ONE".

我在Google上花费了很多时间,但没有发现与我的用例相同的用例。

谁能告诉我主要原因以及如何解决此问题。 我是一个初学者。

解决方法

问题出在后面-您正在使用LIKE运算符在已启用DSE搜索的表上运行查询。由于CQL没有LIKE运算符,因此该查询被卸载到DSE搜索中,该搜索仅能够回答一致性级别为ONELOCAL_ONE的查询(如错误所指出的那样-这是DSE搜索的已知限制。

您需要使用cqlsh命令CONSISTENCY更改一致性级别,谎言如下:

CONSISTENCY LOCAL_ONE

,然后再次执行查询。