0

私の理解では、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();   
    }

強調表示を有効にするには、「コンテンツを保存/解析する」必要があることを読みました。これはどのように行うことができますか?ご協力いただきありがとうございます。

4

1 に答える 1

2

Solr インスタンスのスキーマファイルを変更stored="true"し、contentフィールドに設定する必要があります。ExtractingRequestHandlerのデフォルトのフィールド設定を使用して、そのフィールドに対してハイライト結果を返したいと想定しています。

ハイライトやその他の機能が正しく機能するためにどのフィールド オプションを有効にする必要があるかについてのマトリックスとメモについては、ユース ケース別のフィールド オプションを参照してください。

于 2012-10-09T17:40:19.797 に答える