我应该使用哪个API在我的网站上实现搜索

时间:2012-01-18 06:13:31

标签: java search full-text-search

我们有一个内部网络应用程序,可供内部网络内部使用,供我们公司使用。

最近我们决定实施一个高效的搜索工具,并希望此处的专家提供有关所有API可用的信息以及哪些API对以下用例最有用的信息:

  • 对象在我们公司中被划分为业务组,即对象实际上可以具有各种属性,并且这些属性在来自不同BG(业务组)的任何两个对象之间不常见
  • 用户可能希望在对象中搜索特定属性
  • 用户来自业务组,因此他们了解与其组相关的属性类型
  • 如果将对象列表传递给它,API应具有通用性,以便具有全文/部分文本搜索,具有属性名称和搜索文本。更重要的是,它应该能够索引此结果。

由于这是一个内部应用程序,因此对空间没有限制,但我们需要一个快速通用的API。

我确信Java已经有了适合我们需求的东西。

有关技术堆栈的更多信息: 语言:Java的 服务器:Apache Tomcat Stack:Spring,iBatis,Struts 缓存到位:ECache 其他API:Shindig API

感谢

Neeraj

2 个答案:

答案 0 :(得分:1)

如果基于文本的搜索具有普遍性,则可以将Solr用于Apache Lucene。可能更多的是你想要的东西看看。

http://lucene.apache.org/solr/

http://lucene.apache.org/

答案 1 :(得分:1)

Solr是一款非常棒的搜索工具。缺点是可能需要一些工作才能达到你想要的效果。

有了它,您可以为文档设置不同的字段,并在每个查询中为它们提供自定义优先级。

您可以使用亚马逊等字段轻松创建构面。排序简单快捷。并且内置了拼写检查和建议引擎。

使用您dismax的查询模式customize匹配文档。