【问题标题】:Solr - Tika - Parsing Content to Enable HighlightingSolr - Tika - 解析内容以启用突出显示
【发布时间】:2012-09-30 00:40:29
【问题描述】:

我的理解是通过 Solr 索引 PDF、Word、Excel 等文档将允许搜索但不能突出显示。我有这段代码来执行索引:

        String urlString = "http://localhost:8983/solr"; 
        SolrServer solr = new HttpSolrServer(urlString);
        ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");

        for (MultipartFile file : files) {
            if (file.getOriginalFilename().equals("")) {
                continue;
            }
            File destFile = new File(destPath, file.getOriginalFilename());
            file.transferTo(destFile);
            up.addFile(destFile);

            up.setParam("literal.id", destFile.getAbsolutePath());
            up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);

            try {
                solr.request(up);

            } catch (SolrServerException sse) {
                sse.printStackTrace();
            }

        }

    }
    } catch (IOException ioe) {
      ioe.printStackTrace();   
    }

我已阅读,为了启用突出显示,我需要“存储/解析内容?”如何才能做到这一点?感谢您的帮助。

【问题讨论】:

    标签: solr highlighting apache-tika


    【解决方案1】:

    您需要为您的 Solr 实例修改 Schema 文件并为 content 字段设置 stored="true"。我假设您正在使用 ExtractingRequestHandler 的默认字段设置,希望针对该字段返回突出显示结果。

    请参考Field Options By Use Case 获取矩阵和注释,说明必须启用哪些字段选项才能使突出显示和其他功能正常工作。

    【讨论】:

    • 谢谢佩奇。我没有在架构中找到内容字段。我可以创建一个,但似乎文本字段已经在索引数据。将其存储从 false 更改为 true 是否有任何问题?另外,我没有更改 ExtractingRequestHandler 上的任何设置。
    • 不,更改文本字段上的存储值没有任何问题,因为我假设这是您要突出显示的那个。
    • 没错。 ExtractingRequestHandler 的默认设置似乎是将其内容存储到文本字段中(见下文)。因此,我将保留该默认值并更改文本字段上的存储值。 ( text)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2018-04-05
    • 2012-10-30
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多