編碼工廠

可以在 solrconfig.xml 中指定 codecFactory,以決定將索引寫入磁碟時所使用的 Lucene Codec

如果未指定,則會隱含使用 Solr 的 SchemaCodecFactory,如同它已定義且沒有設定選項一樣

<codecFactory class="solr.SchemaCodecFactory" />

可用的編碼工廠

solr.LuceneDefaultCodecFactory

solr.LuceneDefaultCodecFactory 使用 Lucene Codec.getDefault(),且不支援任何設定選項。

範例

<codecFactory class="solr.LuceneDefaultCodecFactory" />

solr.SchemaCodecFactory (預設)

solr.SchemaCodecFactory 的預設行為與 Lucene 的預設 Codec 相同,但支援 2 個額外的主要功能

  • 基於結構描述的每個欄位類型自訂

    • 任何欄位類型上的 docValuesFormatpostingsFormat - 如需詳細資訊,請參閱欄位類型屬性區段。

    • 支援針對 KnnVectorsFormatDenseVectorField 自訂 - 如需詳細資訊,請參閱密集向量搜尋區段。

  • compressionMode 選項

    • BEST_SPEED (預設) 已針對搜尋速度效能進行最佳化

    • BEST_COMPRESSION 已針對磁碟空間使用率進行最佳化

範例

<codecFactory class="solr.SchemaCodecFactory">
  <str name="compressionMode">BEST_COMPRESSION</str>
</codecFactory>

solr.SimpleTextCodecFactory

此 Lucene SimpleTextCodecFactory 的工廠會產生純文字、人類可讀的索引格式。

僅限娛樂用途。此編碼器絕對不應在生產環境中使用。SimpleTextCodec 相對較慢,且佔用大量磁碟空間。其使用應僅限於教育與偵錯用途。

範例

<codecFactory class="solr.SimpleTextCodecFactory"/>