mikegoatly/lifti

Standardize terminology

Closed this issue · 0 comments

At the moment there is quite a mix of terminology, primarily around the word "item" about the place. In some places this refers to a "document", in others a object type being indexed.

To remove ambiguity in the codebase, "item" should not be used in these contexts - instead the terms "document" or "object type" should be used appropriately.

These changes will be breaking if explicit type names are referenced, although limited backwards compatibility will be maintained by using Obsolete against affected properties/methods.

Obsolete

IFullTextIndex.Items -> IFullTextIndex.Metadata
FullTextIndexBuilder.WithDuplicateItemBehavior -> FullTextIndexBuilder.WithDuplicateKeyBehavior
IndexOptions.DuplicateItemBehavior -> IndexOptions.DuplicateKeyBehavior
ScoredToken.ItemId -> ScoredToken.DocumentId
QueryTokenMatch.ItemId -> QueryTokenMatch.DocumentId

Breaking

DuplicateItemBehavior enum -> DuplicateKeyBehavior
DuplicateItemBehavior.ReplaceItem -> DuplicateKeyBehavior.Replace
ItemPhrases -> DocumentPhrases
ItemMetadata -> DocumentMetadata
IItemStore -> IIndexMetadata