我正在制作一个.NET桌面应用程序(WinForms+Local PostgreSQL Server),用于管理小型商店的销售。
我希望将Lucene搜索设备集成到我的软件的“产品搜索”模块中。是否有好的模式将这些信息检索库集成到现有的应用程序中?
注意:应用程序仍在开发中,我可以随时修改架构以集成Lucene。
注意:我知道如何使用Lucene,并创建了一个简单的演示应用程序来测试它的功能。我只是在寻找模式,将这种搜索功能集成到桌面应用程序中。
注意:集成的主要要求是使用户能够快速搜索产品/品牌/等等,并在UI中提供谷歌自动完成系统。
发布于 2013-08-12 14:31:26
就我个人而言,我已经创建了一个通用存储库,它在某种程度上为您提供了抽象,还有一个名为linq至lucene的项目,它与存储库模式完美地匹配,我取了部分代码,并根据自己的需要编写了自己的实现,我建议您看看,还有一个名为卢塞尼的nuget包,它为lucene.net添加了更多的功能。包。
在lucene实现中使用linq的好处是,任何avg开发人员都可以在不深入了解lucene的情况下进行文本搜索。
谈论建筑总是被重新考虑的OOP原则,如干燥,固体,TDD。在我的例子中,我得到了一个单独的项目,类似于companyName.Software.Lucene,它抽象了lucene背后的所有机制,当您使用该实现时,感觉就像是在某个时候使用ORM进行搜索。
在使用nHibernate的情况下,有一个选项可以使用与它一起设置的文本索引
发布于 2013-08-13 02:05:46
我建议你把这本书写成"Lucene in Action“。它基于Lucene3.0.3版本的Java,但是该版本恰好是.NET的最新版本( 3.0.3 )。
这本书将为你提供.NET所需的一切。实施“Google式”搜索实际上并不是trivial..having要做的事情:模糊搜索、词库匹配、拼写/你的意思是复杂评分等等。我已经使用Lucene 3年多了,这本书帮助我学到了很多东西。
https://stackoverflow.com/questions/18169125
复制相似问题