Hi, Bailu,

There is a function called build_index that works with one column at a
time which allows you to specific indexing options.

By the way, the column type category only supports one type of index -
this index type can not be changed.  Indexing option to this column
type is ignored.

John


On 5/29/13 1:34 PM, Bailu Ding wrote:
> Thanks John! When I change the type of the text columns to category, add the 
> indexing type for each column in the -part.txt, and then run 
> FastBit.build_indexes(), it works. 
> 
> Aside from setting indexing types in the -part.txt and leaving the index 
> option blank in FastBit.build_indexes(), can I specify the indexing type for 
> each column with the JNI?
> 
> Cheers,
> Bailu
> 
> 
> ________________________________________
> From: K. John Wu [[email protected]]
> Sent: Wednesday, May 29, 2013 1:13 PM
> To: FastBit Users
> Cc: Bailu Ding
> Subject: Re: [FastBit-users] Bug in build indexes with FastBit JNI?
> 
> Hi, Bailu,
> 
> by default FastBit does not index TEXT columns.  Furthermore, a TEXT
> column can only support index type 'keywords' and you have to
> explicitly specify the index option in order for FastBit to build a
> keyword index on the column.
> 
> If you intent to treat each row as an atomic unit, then it is better
> for you to use the function addCategories instead of addText.
> 
> John
> 
> 
> On 5/29/13 12:59 PM, Bailu Ding wrote:
>> Hi,
>>
>> I am using FastBit JNI to build indexes. I have a problem when I try
>> to build indexes of both integer and text columns. Here is the process
>> to reproduce the problem:
>>
>> = Load an integral column with FastBit.add_longs() and
>> FastBit.write_buffer().
>> = Load a text column with FastBitStringWriter.addText() and
>> FastBitStringWriter.addStringColumnToMetadata()
>> = At this time, the -part.txt is correctly constructed for the two
>> columns.
>> = Then I run FastBit.build_indexes(). Only the intergral column has an
>> index. The -part.txt file now only contains the metadata for the
>> intergral column.
>>
>> Is this the right way to build indexes on a mix of integral and text
>> columns?
>>
>> I paste the code here:
>>
>> import gov.lbl.fastbit.FastBit;
>> import gov.lbl.fastbit.FastBitStringWriter;
>> import gov.lbl.fastbit.FastBitStringWriterException;
>>
>> public class FastBitTest {
>>
>>     public static void main(String args[]) throws
>> FastBitStringWriterException
>>     {
>>         String[] strArr = {"0", "1", "2", "3"};
>>         long[] intArr = {4, 5, 6, 7};
>>         String partName = "/path/to/the/data/folder";
>>         FastBit fb = new FastBit(null);
>>         FastBitStringWriter writer = new FastBitStringWriter();
>>
>>         fb.add_longs("long", intArr);
>>         fb.write_buffer(partName);
>>
>>         writer.addText(partName, "str", strArr, "UTF-8");
>>         writer.addStringColumnToMetadata(partName, "str", "text");
>>
>>         fb.build_indexes(partName, "basic");
>>     }
>> }
>>
>>
>> Cheers,
>> Bailu
>>
>>
>>
>> _______________________________________________
>> FastBit-users mailing list
>> [email protected]
>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
>>
_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users

Reply via email to