我们希望为在线/离线产品构建搜索引擎。我们开始在网上冲浪,并开始了解倒置索引,TF / IDF和其他通用搜索相关算法等技术。我们使用了lucene,它内置了上述所有技术,我们的基本搜索平台已准备就绪。
后来我们意识到通用搜索引擎将返回任何类型的输出。 假如我搜索“黑鞋”,搜索字符串输出将包含黑色和鞋子的输出。所以在输出中很可能有一件黑色衬衫,但相关性较小。
所以我们认为产品分类可能是我们的救援。我们将根据它所携带的属性对我们的产品进行分类,然后我们也将解析查询字符串以挖掘用户正在寻找的内容并直接匹配它们。我不确定这是否是我们应该遵循的方式。
所以我想知道为利基市场建立搜索引擎通常会采用哪些不同的技术?
答案 0 :(得分:1)
Lucene绝对是您可以用来构建搜索引擎的顶级API之一。无论如何,我建议你使用Solr.
Solr使用Lucene,但为您提供了许多内置功能和令人惊叹的可视控制台。
关于您的问题,正如经常发生的那样,这不是使用工具的问题,而是您如何使用它。您可以使用Lucene / Solr自定义搜索行为以获得所需的结果。
无论如何,你有两个选择可以单独或一起采用:
1)创建一组可供选择的上下文。例如,亚马逊搜索允许您在与产品相关的不同上下文中进行选择(例如,#34;所有部门","美容","游戏"等...)。这个技巧将帮助您缩小产品范围;
2)使用带有slop 1的SpanNearQuery或PhraseQuery并通过邻近度提升它们。
显然,如果索引中的文档是使用最适合您的结构创建的,那么之前的选项会对您有所帮助。