实现动态,可扩展的搜索系统的策略

时间:2014-09-19 06:29:19

标签: c# search dynamic

我不太确定如何说出这个问题,因为这是一个我不太熟悉的领域,而我正在寻求的不是一个特定的解决方案,而是我应该寻求更好的学习方法。了解问题...

如果要将其关闭,请提出我可以更好地表达问题的方法,因为我非常希望得到一些意见。

基本上问题是:我有几个不同的数据表,每个数据表都标识用户的不同属性。例如,一个表可能会定义用户的人口统计数据(性别,位置等),另一个表定他们的兴趣,另一个表可能是他们最喜欢的歌曲。

我希望能够通过运行asp.net mvc的应用程序对这些数据进行不同的搜索,但是我希望能够做一些像“女人”这样的事情,而不是找到特定的匹配(例如说歌曲标题)。谁喜欢汉堡,住在德克萨斯州。“

显然,这是一个比简单关键字更动态的搜索,因为标准可以根据搜索的数据,聚合的数据组合以及实际构成每个参数匹配的内容而变化。

如果我想研究这样的事情的不同方式,我应该寻找什么?这是函数式编程可以帮助解决的问题吗?或者动态LINQ?我已经看到一些关于表达树的文档完全超出了我的脑海,但看起来很有希望。但是我不确定这是否合适,因为数据也可能会改变(例如添加新表),我不确定是否需要提前完全定义。

我应该探索哪些概念,算法和模式可以帮助我创建这样一个系统?

我很高兴学习,但这是我完全不知道的事情,甚至不知道从哪里开始,因此我将非常感激任何我可以开始探索的介绍性概念。

编辑:我刚刚意识到我错过了一个重要的要求,即这些搜索也需要保存。所以除了动态搜索数据外,我还需要一种方法来保存这些搜索。

我能想到的最接近的事情是这样的事情就是说CRM或项目管理工具,它允许你动态构建查询并保存它们以按需或按计划运行......

这些系统使用的策略是什么?我花在研究Dynamic LINQ上的时间越多越好看,但我不确定自己是否走在正确的轨道上。

0 个答案:

没有答案