我将Riak用作Elixir应用程序的内部令牌存储。这些令牌通常具有有限的生命周期(例如5分钟),并且我有一个清除过程,该过程会搜索过期的令牌然后将其删除。
我在到期时间字段上使用自定义索引:
<dynamicField name="*_int_register" type="int" indexed="true" stored="true" multiValued="false"/>
在应用程序启动时以编程方式创建桶,架构和索引。
但是我注意到使用搜索时最多返回10个结果:
iex> Riak.Search.query("asteroid_token_store_device_code_riak_index", "exp_int_register:*")
{:ok,
{:search_results,
[
{"asteroid_token_store_device_code_riak_index",
[
{"score", "1.00000000000000000000e+00"},
{"_yz_rb", "device_code"},
{"_yz_rt", "ephemeral_token"},
{"_yz_rk", "pbvWQLGRIym0e3ZpTujHEE831gcIgptUfeZE6YmcdHA"},
{"_yz_id",
"1*ephemeral_token*device_code*pbvWQLGRIym0e3ZpTujHEE831gcIgptUfeZE6YmcdHA*11"},
{"exp_int_register", "1561199750"},
{"refresh_token_id_register", "CRJ435CQ"}
]},
# 9 other results
Solr的默认行为是返回10个结果。更具体地说,创建的solrconfig.xml
包含以下设置:
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
</lst>
<!-- Custom Yokozuna component to translate custom shard filter
queries. -->
<arr name="first-components">
<str>fq_shard_translator</str>
</arr>
</requestHandler>
是仅返回10个条目的原因吗?是否可以使用Erlang或Elixir Riak客户库以编程方式更改此值?