Как мне построить статические индексы RavenDb для этого документа, учитывая эти требования? - PullRequest
3 голосов
/ 01 апреля 2012

У меня есть около 3 миллионов документов, которые хранятся во встроенном экземпляре RavenDb. Каждое из полей будет подвергнуто некоторому типу фильтра / запроса / сортировки, но в частности я хотел сделать некоторый интеллектуальный текстовый поиск по столбцам info и info2. Как я могу пойти о создании индексов RavenDb?

Мой первый проход в столбце info2 выглядит следующим образом.

store.DatabaseCommands.PutIndex("ProdcustByInfo2", new IndexDefinitionBuilder<Product>
{
    Map = products => from product in products
                      select new { product.INFO2 },
    Indexes = { { x => x.INFO2, FieldIndexing.Analyzed } }
});

Спасибо, Стивен

[Serializable]
public class Product
{
    public string AveWeight { get; set; }

    public string BrandName { get; set; }

    public string CasePack { get; set; }

    public string Catalog { get; set; }

    public decimal CatalogId { get; set; }

    public decimal CategoryId { get; set; }

    public string Info { get; set; }

    public bool IsOfflineSupplierItem { get; set; }

    public bool IsRebateItem { get; set; }

    public bool IsSpecialOrderItem { get; set; }

    public bool IsSpecialPriceItem { get; set; }

    public bool IsTieredPricingItem { get; set; }

    public string ItemNum { get; set; }

    public string ManufactureName { get; set; }

    public string ManufactureNum { get; set; }

    public decimal OffineSupplierId { get; set; }

    public string PackageRemarks { get; set; }

    public decimal Price { get; set; }

    public decimal PriceGroupId { get; set; }

    public decimal ProductId { get; set; }

    public string ProductName { get; set; }

    public int Quantity { get; set; }

    public string SupplierName { get; set; }

    public string UOM { get; set; }

    public string Upc { get; set; }

    public string Url { get; set; }

}

1 Ответ

3 голосов
/ 01 апреля 2012

Шпатен,

Создайте единый индекс RavenDB, который выведет все свойства, к которым вы хотите обратиться. Отметьте Info2 и Info как полнотекстовый поиск (проанализировано).

Вы почти закончили.

...