DRAFT of specification if Indexing By words for strings.

Ruslan Zasukhin sunshine at public.kherson.ua
Wed Sep 22 16:32:43 CDT 2004


On 9/22/04 4:16 PM, "Ruslan Zasukhin" <sunshine at public.kherson.ua> wrote:

>> I think the ability to let developers specify certain index
>> properties would be very powerful, and I'm sure that many other uses
>> would be found for this (other than my issue about sorting). One
>> minor point, since you would want this to be extensible, would be to
>> name the methods something like this: .AddIgnoreWord,
>> .DeleteIgnoreWord, and .DeleteAllIgnoreWords.

This is what I have made in C++

/**
    If some Vstring or VarChar or VText field has option IndexByWords is
TRUE,
    then this class can specify additional parameters for its index.
    This parameters allow to developer/user better control the full text
indexing.
    
    This parameters have no affect if option IndexByWords is FALSE.
*/
interface I_IndexStrPrefs : public I_Unknown
{
    // ---------------------
    // Construction:
     
virtual                     ~I_IndexStrPrefs( void ) {}


    // ---------------------
    // Properties:

        // <Name>

                            //! returns the name of this object.
virtual    const String&        get_Name( void ) const throw() = 0;

                            //! @error NameNotUnique.
virtual    void                put_Name( const String& inNewName ) = 0;

        // <IgnoreLength>

                            //! All words with length less or equal to this
length
                            //! will be ignored by String Index with ByWords
option.
virtual ulong                get_IgnoreLength( void ) const throw() = 0;
virtual    void                put_IgnoreLength( ulong inValue ) throw() =
0;            


        // <IgnoreWordsCount> [r/o]

virtual ulong                get_IgnoreWordsCount( void ) const throw() = 0;


        // <IsIgnoreWord> [r/w]

virtual bool                get_IsIgnoreWord(
                                String&     inWord );


    // ---------------------
    // Methods:

                            /** Add the specified word to the list
IgnoreWords.
                                @param      inWord a word you want to add to
the list. */
virtual void                AddIgnoreWord(
                                String&     inWord ) = 0;

virtual void                DeleteIgnoreWord(
                                String&     inWord ) = 0;

virtual void                DeleteAllIgnoreWords( void ) = 0;

};



-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com

To subscribe to the Valentina mail list go to:
http://lists.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macserve.net/pipermail/valentina-beta/attachments/20040922/fb111f69/attachment-0001.html


More information about the Valentina-beta mailing list