我正在建立一个在线购物网站。我创建了一个名为 Item 的类,以包含我销售的所有内容的所有常见属性。
// all common attribues
class Item {
int price;
string title;
string description;
string category;
}
现在,我有更多具有其他属性的类,它们都包含 Item :
class Shirt {
Item item;
string size;
string color;
}
class Book {
Item item;
string author;
int noOfPages;
}
下一步是为我的网站实现搜索功能。我想使用 Elasticsearch 。我需要创建一个(且只有一个)包含所有需要搜索的字段的文档:
class ElasticSearchDocument
{
// these are coming from Item
int price;
string title;
string category;
// there are coming from Shirt
string size;
string color;
// these are coming from Book
string author;
}
请注意, ElasticSearchDocument 将包含需要搜索的所有属性。我需要 ElasticSearchDocument 类将数据发送到Elasticsearch。
有什么方法可以使用我的其他类来构建 ElasticSearchDocument 吗?即,是否可以从其他类派生ElasticSearchDocument,所以如果我更改它们,我不需要在2个地方重复更改?
或者有更好的方法来实现这一目标吗?