我正在尝试使用学校名称和播放器名称创建Lucene搜索以返回视频。我试图在两种方法之间做出决定。
方法A是索引视频文档中的学校名称和玩家名称,并使用布尔查询来搜索这些字段。
方法B是创建单独的文档类型并进行3次唯一查询。
文件:
3个查询:
这两种方法的优点/缺点是什么?
答案 0 :(得分:3)
你几乎肯定想要使用方法A.为了结合两个索引的相关性分数,你必须重新发明Lucene。
缺点是如果学校/玩家改名,你必须重新索引。这看起来很不寻常。
请记住,如果你有大量的自由文本要搜索,Lucene真的很好。如果它只是使用MySQL的自由文本功能的几个单词(如学校的名称)或您的其他喜欢的rdbms可能会同样快,并且将更容易实现。例如,在重命名时重构索引不会出现问题。