gpt4 book ai didi

java - 为每个搜索查询设置不同的页面长度

转载 作者:行者123 更新时间:2023-11-30 08:09:29 25 4
gpt4 key购买 nike

如文档中所述 https://docs.marklogic.com/7.0/guide/java/intro#id_71012

Document managers are thread safe once initially configured; no matter how many threads you have, you only need one document manager per document type.

我想为每个查询指定不同的页面长度。但我发现这样做的唯一方法是调用 QueryManager 的相应方法。所以我需要同步自己:

synchronized (queryManager) {
queryManager.setPageLength(messagesOnPage);
queryManager.search(queryDefinition, searchHandle, pageNo);
}

问题是否可以用不同的方式指定页面长度(例如在 QueryDefinition 中设置)?

我正在使用 Marklogic 7.0,client-api-java 2.0.5

谢谢,血红蛋白

最佳答案

该文档并没有试图警告管理器跨线程共享内部状态。

相反,它试图阐明只要管理器的配置不变,您就可以跨线程共享单个管理器对象。

如果您只在一个线程中使用一个查询管理器对象,那么它对其他线程是不可见的,因此您不需要将更改同步到查询管理器。如果您有许多使用 QueryManager 的线程,您应该为每个线程创建一个新的 QueryManager,因为您正在更改页面长度。

希望对你有帮助,

关于java - 为每个搜索查询设置不同的页面长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32456438/

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