gpt4 book ai didi

solr - Datastax - Cassandra CQL Solr 查询分页问题

转载 作者:行者123 更新时间:2023-12-01 06:17:29 25 4
gpt4 key购买 nike

我试图使用 solr 查询实现分页,但在 CQL solr 中无法正常工作。请告诉我,我是 Cassandra 和 solr 的新手。

我正在使用 cqlsh 5.0.1 | Cassandra 3.0.10.1443 | DSE 5.0.4 | CQL 规范 3.4.0

1) 从rptavlview.country中选择country_id,country_name,其中solr_query='{"q":":","start":"1"}' limit 5;

当我尝试使用上述查询时,出现如下错误

InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="您已激活驱动程序分页,这也会激活 Solr 深度分页。不允许使用“start”参数。请停用分页或阅读 Solr 深度分页限制并进行相应修复。”

2) 从rptavlview.country中选择country_id,country_name,其中solr_query='{"q":":","start":"1","rows":"5"}' ;

InvalidRequest:服务器错误:code=2200 [无效查询] message="不支持的查询参数:行"

当我从 solr 尝试时它起作用了

http://MYIPADDRESS:8983/solr/rptavlview.country/select?q= %3A&start=1&rows=5&wt=json&indent=true

“响应”:{ “发现数”:237, “开始”:1, “文档”:[ { "_uniqueKey": "[\"49\",\"圣诞岛\"]",
"country_name": "圣诞岛",
"country_name_ar": " Algolia ",
“国家ID”:“49” }, { "_uniqueKey": "[\"51\",\"哥伦比亚\"]",
"country_name": "哥伦比亚",
"country_name_ar": "迪拜",
“国家ID”:“51” }, { "_uniqueKey": "[\"56\",\"古巴\"]",
"country_name": "古巴",
"country_name_ar": "كба",
“国家ID”:“56” }, { "_uniqueKey": "[\"57\",\"塞浦路斯\"]",
"country_name": "塞浦路斯",
"country_name_ar": "???",
“国家ID”:“57” }, { "_uniqueKey": "[\"59\",\"刚果民主共和国\"]",
"country_name": "刚果民主共和国",
"country_name_ar": " Algolia ",
“国家ID”:“59” } ] }}

为什么分页不适用于我的 CQL solr 查询?

最佳答案

Solr 支持two different ways of doing pagination - 一个是旧的 start 参数,它告诉 Solr 从哪个元素开始结果集,新的参数是cursorMark - 它告诉 Solr 最后一个结果集结束的位置,并从该标记开始显示结果以及以后。

后一种方式(也称为“深度分页”)是 Cassandra 及其 paging_state 元素支持的方式,所以我的猜测是 Solr 集成将根据属性进行自己的分页在 CQL 查询中给出,而不是在用作 Solr 查询的 JSON 中给出(因为它会覆盖查询的属性)。

我已经描述了使用分页状态/光标标记和“旧样式”之间的区别 pagination in a different answer ,这应该说明为什么在分布式上下文中使用状态/标记更优越。

关于solr - Datastax - Cassandra CQL Solr 查询分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com