ElasticSearch能够以接近实时的速度提供数据操作和搜索功能。在默认情况下,从索引/更新/删除数据到出现在搜索结果之间,你可能会感受到有1秒的延迟时间(刷新间隔)。这是与SQL等其他平台的一个重要区别,这些平台在完成事务之后,它们的数据立即可用。
索引/替换文档
先前,我们已经知道如何索引一个单个的文档。我们可以再次回忆这个命令:
PUT /customer/external/1?pretty
{
"name": "John Doe"
}
ElasticSearch能够以接近实时的速度提供数据操作和搜索功能。在默认情况下,从索引/更新/删除数据到出现在搜索结果之间,你可能会感受到有1秒的延迟时间(刷新间隔)。这是与SQL等其他平台的一个重要区别,这些平台在完成事务之后,它们的数据立即可用。
先前,我们已经知道如何索引一个单个的文档。我们可以再次回忆这个命令:
PUT /customer/external/1?pretty
{
"name": "John Doe"
}
现在,当我们建立和运行ElasticSearch集群和Kibana可视化工具之后,就可以开始学习如何与ElasticSearch进行通信了。幸运的是,ElasticSearch提供了非常全面和强大的REST API,你可以在Kibana的开发工具中使用这些REST API,这样便能和集群进行交互。你可以通过REST API处理以下几个事项:
分析是将全文转换为词语的过程。取决于使用何种分词器,这些短语:FOO BAR
、Foo-Bar
、foo,bar
都可能被分解为词语foo
和bar
。索引中存储的实际上是这些词语。对FoO:bAR
进行一次全文查询(不是词语查询),也会分解为词语foo
和bar
,因此会和索引存储的词语相匹配。正是这一分词过程(在索引时间和搜索时间都有)使得ElasticSearch能够执行全文查询。还可以参考text和term。
ElasticSearch具有几个核心概念。从一开始就理解这些概念将大大有助于简化学习过程。
ElasticSearch是一种接近实时的搜索平台。这就意味着,从你索引一个文档直到它能够搜索之间,会有一个细微的延迟时间(通常是1秒)。