我的网站的去中心化搜索引擎

时间:2019-04-11 08:12:22

标签: elasticsearch search search-engine

我正在尝试为我的网站构建一个搜索引擎,但我希望将其分散。我有一个文档数据库,我将建立一个反向索引,然后我要分散索引服务器的权限。您能否建议在这种情况下该怎么办以及从哪里开始我的项目?我可以使用elasticsearch编制索引并在其上添加分散化功能吗?

我是去中心化的新手,因此,非常感谢任何帮助或帮助开始建立去中心化搜索引擎的链接。

1 个答案:

答案 0 :(得分:0)

使用ElasticSearch将非常适合您的用例。 从elasticSearch网站上引用-

  

Elasticsearch是一个分布式的RESTful搜索和分析引擎,能够解决越来越多的用例。

ElasticSearch集群基本上是一组节点,每个节点都运行ES服务。 为了存储数据并使其可搜索,您可以通过定义索引映射来定义索引(索引基本上是定义数据外观的结构)。

{
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "students" : {
            "properties" : {
                "studentId" : { "type" : "keyword" },
"admissionDate" : {"type":"Date"}
            }
        }
    }
}

您可以从此处了解有关映射的更多信息-ElasticSearch Mappings

从ElasticSearch开始您的整个旅程的一个好地方是阅读入门文档-ElasticSearch Getting Started

ES中索引的CRUD操作由-Indices APIs

提供

您将索引数据存储在ES索引中-Document APIs

您可以使用ES提供的其他搜索API-Search API和Query DSL(ES的查询语言)-ES Query DSL

搜索索引数据

就分布式系统而言,您可以创建一个具有多个节点的集群,每个节点都在另一台服务器上运行,ES内部负责在集群中不同节点之间路由请求。只需在节点的elasticsearch.yml中添加正确的集群名称,即可将该节点添加到集群中。