如何获取SOLR文档的字数?

How to get word count of SOLR document?

我有一个pdf文件的二进制内容,我想将它上传到SOLR并索引它的内容:

 ContentStreamUpdateRequest up = new ContentStreamUpdateRequest('/update/extract')
    up.setParam("literal.id", map.id)
    def tmpFile = null
    tmpFile = File.createTempFile(map.id, ".tmp")
    tmpFile.append(binary)
    up.addFile(tmpFile, ".pdf")
    // Do the SOLR stuff here
    def solr = getSolrServer()       
    up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true)
    def response = solr.request(up)
    if (tmpFile) {
        tmpFile.delete()
    }
    return response

当我查询SOLR时,我可以检索到SOLR文档。如何获取文件的实际内容?基本上我需要找到我上传的文档的字数,所以我计划对返回的字符串执行 size() (如果可能的话)....

我是 SOLR 的新手,所以我可能走错了路...非常感谢任何帮助:)

我假设您想计算已编入索引的 PDF 中的字数。确保

  1. PDF 的全部提取内容被索引到一个字段中。
  2. 确保此字段至少启用了一个空白分词器。以便它根据空格将句子分成单词。

执行此操作后,您可以使用构面或术语向量组件找到单词的数量。以下 SO 答案可能会有所帮助: