就本次讨论而言,假设您的 Microsoft Commerce Server 站点名称是 'GovinSite*',并且您有一个名为 'GovinCatalog' 的 Microsoft Commerce Server 产品目录强>
现在让我根据您最初的问题陈述两个假设:
假设 1:我将您的陈述解释为,“当我将新产品添加到 commerce server 2009 R2 时,它被列在相应的类别中”,描述了您使用手动添加产品的行为'Microsoft Commerce Server Catalog Manager' 瘦客户端工具,然后在通过 Catalog Manager 中的瘦客户端界面添加它们后,它们就会显示在界面中
假设 2:我解释您的陈述,"'但是这些新添加的产品在网站搜索中不可用* 表示新添加的产品不会立即出现在搜索结果中您的网站使用 Commerce Server Search 来返回结果。
现在,考虑 Microsoft Commerce Server 2009 R2 将其所有产品存储在 GovinSite_ProductCatalog 数据库中的 SQL Server 中。对于您创建的每个目录,都会在 SQL Server 中创建一组相应的表。您定义的类别和这些类别中的产品存储在该数据库的 GovinCatalog_CatalogProducts 表中。当您通过代码或使用基于 asmx 的 CatalogWebService 或通过 Commerce Server 目录管理器添加产品或类别时,该产品将添加到 GovinCatalog_CatalogProducts 表中。也就是说,该产品是否会立即显示在您的实时搜索结果中将取决于您为该站点实施的缓存策略。如果您确实在使用 Microsoft Commerce Server 搜索,则根据您正在执行的搜索类型,它可能会使用全文搜索索引。如果您没有刷新 Commerce Server 中的站点缓存或全文搜索索引,您可能会遇到这样一种情况:您可以在 Catalog Manager 中看到该产品,但它在您的站点上不可见。刷新您的站点缓存或刷新全文目录索引将解决此问题。如果它不能解决您的问题,那么您使用 Commerce Server Catalog API(2007 或 2009)搜索产品时所用的代码可能会出现问题。
所以,既然您声明您正在使用 Adobe Search & Promotion 来索引网站,我想您是在谈论网站内容,但不一定是网站产品目录数据。 adobe 使用的索引可能与 Commerce Server Full Text Search 使用的索引完全不同。在您走远之前,请尝试以下操作:
1) 在目录管理器中创建产品
2) 尝试在您的网站上搜索产品
3) 假设它没有出现,返回 Microsoft Commerce Server Catalog Manager 并从左侧的任务菜单中选择 Refresh Catalog Full Text Index
4) 尝试在您的网站上再次搜索该产品
5) 如果仍未显示,请返回 Microsoft Commerce Server 目录管理器并选择 刷新站点缓存
6) 尝试在您的网站上再次搜索该产品
7) 如果仍然没有出现,则一定是通过 Commerce Foundation (2009 API) 或 Core Systems Catalog API (2007) 向 Commerce Server 数据库发出搜索请求的代码存在问题
有关 Microsoft Commerce Server 缓存的更多信息,请尝试here
有关 Commerce Server 2007 目录 API 搜索的更多信息,请尝试here
我可以对此进行更深入的讨论,但我更愿意让您验证我的假设并做出回应,然后再进一步探讨您的问题。