search - 为我的网站构建/设计搜索引擎的推荐方法

标签 search solr lucene full-text-search elasticsearch

我想为我的网站构建一个搜索引擎,以便我可以快速找到相关内容。我已经做了很多Google搜索,发现了ElasticSearch和Solr(都位于Lucene之上)和whoosh(基于python)。

但是,所有这些搜索引擎是否都只是在数据之上构建了“反向索引”?还有哪些其他算法方法可以获取更高质量的搜索?

这篇博客帖子对Solr之上的协作过滤很感兴趣,它返回了相关的搜索查询:

http://www.opensourceconnections.com/2013/08/25/semantic-search-with-solr-and-python-numpy/

还有其他我应该注意的常用技术吗?在ElasticSearch / Solr之上是否还有其他我可以插入的库,并且可以“开箱即用”使用?

任何链接或提示将不胜感激!

最佳答案

您没有提到您正在开发什么技术堆栈。

如果您使用Ruby on Rails,我建议您使用Tire,它是一个通过ElasticSearch提供DSL包装器的 gem 。本质上,它允许您在Elasticsearch中索引数据。

对于Rails,Sunspot是一个非常流行的 gem ,人们使用它与Solr进行交互。

对于.NET-SolrNET是一个出色的Solr客户端。

您问题的其他部分(围绕实现良好的搜索引擎)过于广泛-我建议阅读一本好书,例如Lucene in Action,以了解Solr / Elasticsearch可以做什么。

我确实有一些笔记是我以前写的,您可以阅读一些关于here搜索的经验。

编辑:

由于您使用的是python,因此我建议Haystack,尽管它特定于Django。它非常适合我们的需求。但是,如果您不使用django,我可以将solrpy视为Solr客户端。 Haystack可与Solr和Elasticsearch一起使用。

关于search - 为我的网站构建/设计搜索引擎的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559692/

相关文章:

solr - Solr中的字符串长度函数查询

java - org.apache.solr.analysis.BufferedTokenStream 类在 solr 4.x 中移动或删除?

solr - Solr 4.0中的mergeFactor用法

java - 卢塞恩。为文本中的每个单词索引一些标记

ios - XCode搜索:如何创建Matches Regex(正则表达式)以选择正确的文件

php - 在 MySQL 数据库中的纬度/经度矩形内查找项目的优雅方式?

search - 在 Liferay DXP 7 中自定义搜索 Portlet

jquery - 更改数据表搜索功能

apache - 使用 ConcurrentUpdateSolrServer 需要哪些 jar?

java - FastVectorHighlighter 短语突出显示不适用于词干提取