ElasticsearchCRUD使用(十四)【ElasticsearchCRUD搜索查询和过滤】

释放双眼,带上耳机,听听看~!

本文演示如何使用ElasticsearchCRUD进行搜索。 API提供了可以与Elasticsearch的搜索API一起使用的搜索模型。 您可以搜索同步/异步,并提供您自己的JSON字符串或使用搜索模型。

开始:

ElasticsearchCRUD提供了一些数字或搜索的可能性。 这篇文章展示了不同的例子,这些例子应该有助于理解或使它更容易使用搜索模型参数。 当配置和创建模型时,可以使用以下方法作为HTTP请求发送:

搜索模型可以发送具有过滤器,查询或两者都有。 以下是一个简单的MatchAllFilter的例子:

搜索模型包含一个Filter属性和一个Query属性,它可以包含任何查询或任何过滤器类型。 可以根据需要选择所需的对象。
以下是一个简单的PrefixQuery示例:

或者更复杂的搜索查询可能如下所示:

以上搜索将发送到Elasticsearch如下:

您还可以使用Search类的ToString()方法来显示将发送到Elasticsearch的JSON查询。 调试查询或过滤器时,这非常有用。

GeoShapeQuery的一个例子:

被翻译成:

具有线性衰减功能的FunctionScoreQuery可以这样配置:

排序

搜索模型还支持排序,正常排序,GeoPoint排序或脚本排序。

以下是Geo排序示例:

或另一个脚本排序示例:

在撰写本文时,应支持不同查询和过滤器的所有可能配置。 一些Elasticsearch文档不是实际的,一些记录的特征不起作用。 所有的搜索模型类都有使用真正的Elasticsearch 搜索引擎(elasticsearch-1.4.2)的集成测试。 这将有助于保持代码接近实际情况。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索