小编Ben*_*yne的帖子

电子商务店面网站:以编程方式发现类似产品

我正在开发一个店面Web应用程序.当潜在客户在网站上查看产品时,我想自动从数据库中建议一组类似的产品(与要求人员明确输入产品相似性数据/映射相比).

实际上,当您考虑它时,大多数店面数据库已经有很多可用的相似性数据.在我的情况下Products可能是:

  • 映射到Manufacturer(又名Brand),
  • 映射到一个或多个Categories,和
  • 映射到一个或多个Tags(aka Keywords).

Storefront Datamodel Snippet

通过计算产品与所有其他产品之间共享属性的数量,您可以计算"SimilarityScore",以便将其他产品与客户正在查看的产品进行比较.这是我最初的原型实现:

;WITH ProductsRelatedByTags (ProductId, NumberOfRelations)
AS
(
    SELECT  t2.ProductId, COUNT(t2.TagId)
    FROM    ProductTagMappings AS t1 INNER JOIN
                ProductTagMappings AS t2 ON t1.TagId = t2.TagId AND t2.ProductId != t1.ProductId
    WHERE   t1.ProductId = '22D6059C-D981-4A97-8F7B-A25A0138B3F4'
    GROUP BY t2.ProductId
), ProductsRelatedByCategories (ProductId, NumberOfRelations)
AS
(
    SELECT  t2.ProductId, COUNT(t2.CategoryId)
    FROM    ProductCategoryMappings AS t1 INNER JOIN
                ProductCategoryMappings AS t2 ON t1.CategoryId = t2.CategoryId AND t2.ProductId != t1.ProductId
    WHERE   t1.ProductId = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server indexing common-table-expression sql-view

10
推荐指数
1
解决办法
498
查看次数

用"|"替换未用双引号括起来的每个逗号

我想用'|'替换未用双引号括起来的每个逗号 在使用模式匹配.

例如,给出以下输入:

A,B,"C,D",E,"F,G",H,"I,J,K"
"Chang, Yao-Jen",33,MIS,"Taiwan, Taipei",M
Run Code Online (Sandbox Code Playgroud)

这是所需的输出:

A|B|"C,D"|E|"F,G"|H|"I,J,K"
"Chang, Yao-Jen"|33|MIS|"Taiwan, Taipei"|M
Run Code Online (Sandbox Code Playgroud)

我希望这完成而不使用硬编码,如:

sed '2s/33,MIS/33|MIS|/' file.
Run Code Online (Sandbox Code Playgroud)

awk sed

8
推荐指数
2
解决办法
9145
查看次数

使用Ext.grid.Panel.reconfigure()打破了网格RowEditing插件

我正在创建一个extjs网格面板,它具有一组用户可配置的列.该Ext.grid.Panel组件reconfigure(store, columns)为此提供了一种方便的方法.

此方法按预期工作,无需完全销毁和重新创建网格,即可重新配置网格的存储/列.但是,如果您使用Ext.grid.plugins.RowEditing插件提供内联行编辑,则在使用新列重新配置网格后,列将不同步.

这特别令人沮丧,因为RowEditing插件已经监视添加/删除/调整列并正确处理这些列.我怀疑这只是当前版本的ExtJs的疏忽.

我想要的是RowEditor在使用新列重新配置网格时更新其编辑器列表和宽度,而不会破坏/重新创建网格/视图.

经过大量的谷歌搜索后,看起来我并不是唯一一个寻找具有内联编辑支持的易于重新配置的列列表的人.

javascript extjs web-applications extjs4.1

4
推荐指数
1
解决办法
5665
查看次数

SignalR用于大用户群的聊天

我有一个ASP.NET MVC3应用程序.

如果我的应用程序有大量用户 - 假设为100,000 - 假设,如果所有用户互相交谈并且我使用了SignalR,那么是否会有100,000个长轮询连接?这会导致某种拒绝服务吗?

我应该使用AJAX HTTP吗?或者SignalR是否足够聪明,在一段时间内没有找到任何活动时会释放与资源池的连接?

何时使用signalR进行聊天建议聊天与AJAX?

c# ajax asp.net-mvc signalr

4
推荐指数
1
解决办法
2844
查看次数