在Solr中,BinaryResponseParser有什么用途?

在Solr中,BinaryResponseParser有什么用途?,solr,callback,response,Solr,Callback,Response,我必须在我的应用程序中使用BinaryResponseParser。我不知道BinaryResponseParser的用途是什么。当我在网上搜索时,我得到了一条信息,“BinaryResponseParser发送回调事件,而不是构建大型响应。” 下面是响应中的回调事件。任何人都可以清楚地解释什么是回调事件以及它是如何在Solr中使用的 如果我在我的应用程序中不使用BinaryResponseParser意味着什么,会有什么影响?BinaryResponseParser是以二进制格式序列化Solr

我必须在我的应用程序中使用BinaryResponseParser。我不知道BinaryResponseParser的用途是什么。当我在网上搜索时,我得到了一条信息,“BinaryResponseParser发送回调事件,而不是构建大型响应。”

下面是响应中的回调事件。任何人都可以清楚地解释什么是回调事件以及它是如何在Solr中使用的


如果我在我的应用程序中不使用BinaryResponseParser意味着什么,会有什么影响?

BinaryResponseParser
是以二进制格式序列化Solr响应的解析器,而不是
json
xml
。该类有一个方法可供您使用(3.6.x版):

公共名称列表processResponse(InputStream正文,字符串编码)

使用二进制序列化的优点是响应大小将小得多。这对于像Lucene/Solr这样的实时红外系统的性能来说是至关重要的——想象一下,一个自动建议服务,它必须为用户提供每一次按键的建议列表。响应必须在100ms以下传递给用户。如果您不使用二进制编码,您的响应将更大,因此通过HTTP传输将需要更长的时间


我建议您看看——Solr的Java客户端,它可能会解决您的大多数问题。

如果您必须使用某个东西,您至少应该知道它的用途。这是学校作业还是什么?你试过寻找它的来源吗?如果您尝试,可以从SVN、GitHub或GrepCode获得它。然后你会发现它是SolrJ的一部分,你可以阅读它。