虽然上述所有链接都有优点,并且在过去让我受益匪浅,作为一名语言学家,在过去的15年里“接触”了各种Lucene搜索引擎,我不得不说Python中弹性搜索的开发非常快。话虽如此,有些代码对我来说并不直观。因此,我从开源的角度接触了ELK堆栈的一个组件Kibana,发现我可以在Kibana非常容易地生成elasticsearch的有点神秘的代码。此外,我也可以将ChromeSense es查询拉入Kibana。如果你使用Kibana来评估es,它会进一步加快你的评估速度。在其他平台上运行需要几个小时的东西在elasticsearch(RESTful接口)之上的JSON in Sense中启动并运行最坏的几分钟(最大的数据集);充其量在几秒钟内。elasticsearch的留档虽然有700多页,但没有回答我遇到的通常会在SOLR或其他Lucene留档中解决的问题,这显然需要更多的时间来分析。此外,你可能想看看弹性搜索中的聚合,它将Facet提升到了一个新的水平。
大局:如果你正在做数据科学、文本分析或计算语言学,elasticsearch有一些排名算法,似乎在信息检索领域创新得很好。如果你正在使用任何TF/IDF算法、文本频率/逆文档频率,elasticsearch将1960年代的算法扩展到了一个新的水平,甚至使用了BM25、Best Match 25和其他相关性排名算法。所以,如果你正在对单词、短语或句子进行评分或排名,elasticsearch会即时进行评分,而不会像其他数据分析方法那样花费数小时的大量开销——这又节省了elasticsearch的时间。
使用es,将聚合的一些优势与实时JSON数据相关性评分和排名相结合,您可以找到一个成功的组合,具体取决于您的敏捷(故事)或架构(用例)方法。