我正在尝试为我的网站构建一个搜索引擎,但我希望将其分散。我有一个文档数据库,我将建立一个反向索引,然后我要分散索引服务器的权限。您能否建议在这种情况下该怎么办以及从哪里开始我的项目?我可以使用elasticsearch编制索引并在其上添加分散化功能吗?
我是去中心化的新手,因此,非常感谢任何帮助或帮助开始建立去中心化搜索引擎的链接。
答案 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中添加正确的集群名称,即可将该节点添加到集群中。