2012-11-06 36 views
0

我想與ravendb方面的能力,但獲得奇怪的結果。方面與ravendb

我有像證件:

{ 
    "SearchableModel": "42LC2RR ", 
    "ModelName": "42LC2RR", 
    "ModelID": 490578, 
    "Name": "LG 42 Television 42LC2RR", 
    "Desctription": "fffff", 
    "Image": "1/4/9/8/18278941c", 
    "MinPrice": 9400.0, 
    "MaxPrice": 9400.0, 
    "StoreAmounts": 1, 
    "AuctionAmounts": 0, 
    "Popolarity": 3, 
    "ViewScore": 0.0, 
    "ReviewAmount": 2, 
    "ReviewScore": 45, 
    "Sog": "E-TV", 
    "SogID": 1, 
    "IsModel": true, 
    "Manufacrurer": "LG", 
    "ParamsList": [ 
    "1994267", 
    "46570", 
    "4134", 
    "4132", 
    "4118", 
    "46566", 
    "4110", 
    "180676", 
    "239517", 
    "750771", 
    "2658507", 
    "2658498", 
    "46627", 
    "4136", 
    "169941", 
    "169846", 
    "145620", 
    "169940", 
    "141416", 
    "3190767", 
    "3190768", 
    "144720", 
    "2300706", 
    "4093", 
    "4009", 
    "1418470", 
    "179766", 
    "190025", 
    "170557", 
    "170189", 
    "43768", 
    "4138", 
    "67976", 
    "239516", 
    "3190771", 
    "141195" 
    ], 
} 

其中ParamList各自代表了產品的屬性,並在我們的應用中有什麼樣的緩存每個PARAM表示。

當搜索特定的產品時,我想計算所有返回的屬性,以便能夠在搜索後添加每件物品的數量。

在電視類別搜索LG之後,我想:

帕拉姆:4134女巫是LCD的一個代表和金額:65。

但不幸的是我得到了奇怪的結果。只有一些參數被計數,有些則沒有。 在一些搜索者,我得到的結果回來我沒有得到任何數額回來。

我使用的是RavenDB的最新穩定版本。

指數:

from doc in docs 
from param in doc.ParamsList 
select new {Name=doc.Name,Description=doc.Description,SearchNotVisible = doc.SearchNotVisible,SogID=doc.SogID,Param =param} 

小面:

DocumentStore documentStore = new DocumentStore { ConnectionStringName = "Server" }; 
     documentStore.Initialize(); 
     using (IDocumentSession session = documentStore.OpenSession()) 
     { 
      List<Facet> _facets = new List<Facet> 
         { 
          new Facet {Name = "Param"} 

         }; 

      session.Store(new FacetSetup { Id = "facets/Params", Facets = _facets }); 
      session.SaveChanges(); 
     } 

使用例如:

IDictionary<string, IEnumerable<FacetValue>> facets = session.Advanced.DatabaseCommands.GetFacets("FullIndexParams", new IndexQuery { Query = "Name:lg" }, "facets/Params"); 

我嘗試許多變化都沒有成功。

有沒有人有想法我做錯了什麼?

感謝

回答

0

使用該指數,它應該解決您的問題:

from doc in docs 
select new {Name=doc.Name,Description=doc.Description,SearchNotVisible = doc.SearchNotVisible,SogID=doc.SogID,Param = doc.ParamsList} 
+0

謝謝,我在發佈前嘗試這個選項。但不幸的是也沒有爲我工作。 –