这个问题看上去可能有点混乱,但这是因为我缺乏经验。我做了一些lucene使用教程,并且有一些基本知识。Gona将这个引擎在.net中实现为一个简单的应用程序,显示了最常见的用法:
搜索引擎
这种用法看起来很常见。假设我们有一些来自网络的数据集。由于我了解整个过程,并希望创建一个android(java)/web应用程序,这将是这样的:
如果我们有现有的关系数据库,那么我们需要为SE创建一个更容易理解的新数据库。我从来没有使用过ORM映射,所以不知道该如何做。让我们说,我们有一些基本的论坛与简单的关系数据库的用户和他们的帖子。如果用户想要搜索某个帖子,他会使用SE从数据库中检索数据。如果他想添加/删除某个帖子(据我理解),他将直接使用数据库而不使用SE。在数据库中添加/del数据后,我们必须通知SE,更新(删除当前文档并从一开始就添加整个数据库),创建新的索引,并对其进行优化。我甚至想知道如果没有数据库,SE应用程序是否还会存在。我知道SE有自己的二进制平面文件结构,但是在用户/post数据中,可以不使用任何dbms吗?
我知道它看上去有点混乱,但是这个话题涉及不同的领域,因为一般的问题,所以现在问总比等一会儿好。
感谢那些已经面临这种情况的人提供的任何信息。
谢谢
编辑:只是说我们想测试一些有用的SE用法。我们需要有数据的数据库来测试它,所以有些.net对象会有ORM,或者直接到lucene文档(?)然后把它放到lucene专用的存储器里。
发布于 2013-08-28 13:52:18
纯粹使用ORM检索数据并将其添加到Lucene索引中是过分的。Lucene索引文档,它们本身并不比字段值对多。您最好直接使用ADO.NET或微ORM将数据输出到Lucene文档中,为索引做好准备。
如果您的数据还没有在关系数据库中,那么您还可以考虑是否需要RDBMS。Lucene既可以存储数据,也可以索引数据。
https://stackoverflow.com/questions/18090693
复制相似问题