elasticsearch - 哪个自定义搜索引擎?

标签 elasticsearch google-custom-search

我有一个在 Apache 上运行的网站,其中包含 PHPMySQL

我希望对存储在 MySQL 表以及 .pdf.docx 文档中的文本实现自定义搜索引擎。

我不确定该使用哪个 API。

我查看了 Google 的 Custom Search Engine (CSE)Elastic Search 。据我所知,Elastic 只能在基于 Java 的服务器上运行,因此我无法走这条路。

我知道 Elastic 可以通过其 REST API 满足我的要求。 Google CSE 是否能够执行相同的操作,即搜索数据库表和 PDF 中存储的文本?还有其他可能的自定义搜索 API 吗?

最佳答案

Google 自定义搜索引擎(在您的情况下为 Google Site Search)或什至任何其他网络机器人(例如 Nutch )等解决方案只会读取网络端的内容:浏览器可以访问的内容(不是登录)并按显示网页的 URL(带有标题和文本内容摘录)对其进行分类。

如果无需登录即可访问所有 PDF、docx 和网页,则效果非常好。网络应用程序创建者应该启用它。这并不意味着普通用户可以访问所有内容,而只能访问机器人(例如 Springer 发布商邀请 Google 机器人访问几乎所有内容,但不能访问普通浏览器)。

如果您希望搜索服务器仅访问数据库的字段,则它需要与您的数据库通信。 Google Site Search(Google 自定义搜索的一种形式)不允许这样做。 ElasticSearch 和 Apache Solr 允许这样做。然而,出于安全原因,大多数网络托管服务不允许从外部访问数据库端口。因此,您可能会看到在本地运行搜索服务器的另一个要求。

运行 java 或 Google CSE 的要求似乎是不可避免的。据我所知,其他语言中没有具有相同质量的解决方案(例如,Drupal 可以提供基于 MySQL 的文本搜索,但它的容错性要低得多)。现在很多云节点都可以运行java。

关于elasticsearch - 哪个自定义搜索引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916428/

相关文章:

google-oauth - 带有 Google 自定义搜索功能的 Google 附加链接搜索框

php - Google Custom Search API start=100 导致错误 400

elasticsearch - Elasticsearch 中嵌套的对象聚合数组

elasticsearch - Elasticsearch:使用条件过滤器搜索文档

elasticsearch - Jest 客户端大小参数被忽略

javascript - 谷歌自定义搜索排序日期范围标准不起作用

javascript - 如何从 Google 自定义搜索 API AJAX 调用中提取 JSON 数据?

ruby-on-rails - Searchkick在模型之间加入

elasticsearch - 如何从 DynamoDB 提取数据并将其插入 Elasticsearch

javascript - 将新元素附加到数组中的对象