Hi Adrien,

The Lucene42Codec works well to generate the index with
DiskDocValuesFormat. But when I tried to merge the index segments by
calling:

IndexWriter iw = new IndexWriter(directory, iw_config);
...
iw.forceMerge(1);

I got the following error message:

Caused by: java.lang.IllegalArgumentException: A SPI class of type
org.apache.lucene.codecs.DocValuesFormat with name 'Disk' does not exist.
You need to add the corresponding JAR file supporting this SPI to your
classpath.The current classpath supports the following names: [Lucene42]

Any hint on this classpath problem? I have created a single jar file that
has all necessary dependencies, such as lucene-codecs-4.2.0.jar. And I
assume the indexing step works well, so Lucene already knows the format
with name 'Disk'.

Thanks.

On Sat, Apr 13, 2013 at 4:25 AM, Adrien Grand <jpou...@gmail.com> wrote:

> Hi Wei,
>
> On Sat, Apr 13, 2013 at 7:44 AM, Wei Wang <welshw...@gmail.com> wrote:
> > I am trying to use DiskDocValuesFormat for a particular
> > BinaryDocValuesField. It seems there is no good examples showing how to
> do
> > this. The only hint I got from various docs and forums is set some codec
> in
> > IndexWriter. Could someone give a few lines of code snippet and show how
> to
> > set DiskDocValuesFormat?
>
> Lucene42Codec can be extended to specify the doc values format to use
> on a per-field basis. For example:
>
> final Codec codec = new Lucene42Codec() {
>   final Lucene42DocValuesFormat memoryDVFormat = new
> Lucene42DocValuesFormat();
>   final DiskDocValuesFormat diskDVFormat = new DiskDocValuesFormat();
>   @Override
>   public DocValuesFormat getDocValuesFormatForField(String field) {
>     if ("dv_mem".equals(field)) {
>       // use Lucene42 for "dv_mem"
>       return memoryDVFormat;
>     } else {
>       // use Disk otherwise
>       return diskDVFormat;
>     }
>   }
> };
>
> Then just pass this Codec instance to your IndexWriterConfig.
>
> --
> Adrien
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>
>

Reply via email to