当前位置: 首页 > news >正文

做网站是否要去工商备案淘宝代运营公司

做网站是否要去工商备案,淘宝代运营公司,定制软件开发合同,手机网站来几个Spring Data访问Elasticsearch----查询方法 一、查询lookup策略1.1 声明的查询 二、创建查询三、方法返回类型四、使用Query注解 一、查询lookup策略 Elasticsearch模块支持所有基本的查询构建功能,如字符串查询、native搜索查询、基于条件的查询和从方法名派生的查…

Spring Data访问Elasticsearch----查询方法

  • 一、查询lookup策略
    • 1.1 声明的查询
  • 二、创建查询
  • 三、方法返回类型
  • 四、使用@Query注解

一、查询lookup策略

Elasticsearch模块支持所有基本的查询构建功能,如字符串查询、native搜索查询、基于条件的查询和从方法名派生的查询。

1.1 声明的查询

从方法名称派生查询并不总是足够的,并且可能导致方法名称不可读。在这种情况下,可以使用@Query注解(请参见四、使用@Query注解)。

二、创建查询

通常,Elasticsearch的查询创建机制如定义查询方法中描述的那样工作。下面是一个简短的示例,说明了Elasticsearch查询方法的含义:
例1:从方法名创建查询

interface BookRepository extends Repository<Book, String> {List<Book> findByNameAndPrice(String name, Integer price);
}

上面的方法名将被转换为下面的Elasticsearch json查询

{"query": {"bool" : {"must" : [{ "query_string" : { "query" : "?", "fields" : [ "name" ] } },{ "query_string" : { "query" : "?", "fields" : [ "price" ] } }]}}
}

Elasticsearch支持的关键字列表如下所示。
表1:方法名称中支持的关键字

关键字例子Elasticsearch查询字符串
AndfindByNameAndPrice{ “query” : {“bool” : {“must” : [{ “query_string” : { “query” : “?”, “fields” : [ “name” ] } },{“query_string” : { “query” : “?”, “fields” : [ “price” ] } }]}}}
OrfindByNameOrPrice{“query”:{“bool”:{“should”:[{“query_string”:{“query”:“?”,“fields”:[“name”]}},{“query_string”:{“query”:“?”,“fields”:[“price”]}}]}}}
IsfindByName{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“?”,“fields”:[“name”]}}]}}}
NotfindByNameNot{“query”:{“bool”:{“must_not”:[{“query_string”:{“query”:“?”,“fields”:[“name”]}}]}}}
BetweenfindByPriceBetween{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:“?”,“to”:“?”,“include_lower”:true,“include_upper”:true}}}]}}}
LessThanfindByPriceLessThan{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:null,“to”:“?”,“include_lower”:true,“include_upper”:false}}}]}}}
LessThanEqualfindByPriceLessThanEqual{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:null,“to”:“?”,“include_lower”:true,“include_upper”:true}}}]}}}
GreaterThanfindByPriceGreaterThan{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:“?”,“to”:null,“include_lower”:false,“include_upper”:true}}}]}}}
GreaterThanEqualfindByPriceGreaterThanEqual{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:“?”,“to”:null,“include_lower”:true,“include_upper”:true}}}]}}}
BeforefindByPriceBefore{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:null,“to”:“?”,“include_lower”:true,“include_upper”:true}}}]}}}
AfterfindByPriceAfter{“query”:{“bool”:{“must”:[{“range”:{“price”:{“from”:“?”,“to”:null,“include_lower”:true,“include_upper”:true}}}]}}}
LikefindByNameLike{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“?*”,“fields”:[“name”]},“analyze_wildcard”:true}]}}}
StartingWithfindByNameStartingWith{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“?*”,“fields”:[“name”]},“analyze_wildcard”:true}]}}}
EndingWithfindByNameEndingWith{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“*?”,“fields”:[“name”]},“analyze_wildcard”:true}]}}}
Contains/ContainingfindByNameContaining{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“?”,“fields”:[“name”]},“analyze_wildcard”:true}]}}}
In (when annotated as FieldType.Keyword)findByNameIn(Collection<String> names){“query”:{“bool”:{“must”:[{“bool”:{“must”:[{“terms”:{“name”:[“?”,“?”]}}]}}]}}}
InfindByNameIn(Collection<String> names){ “query”: {“bool”: {“must”: [{“query_string”:{“query”: “”?" “?”", “fields”: [“name”]}}]}}}
NotIn (when annotated as FieldType.Keyword)findByNameNotIn(Collection<String> names){“query”:{“bool”:{“must”:[{“bool”:{“must_not”:[{“terms”:{“name”:[“?”,“?”]}}]}}]}}}
NotInfindByNameNotIn(Collectionnames){“query”: {“bool”: {“must”: [{“query_string”: {“query”: “NOT(”?" “?”)", “fields”: [“name”]}}]}}}
TruefindByAvailableTrue{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“true”,“fields”:[“available”]}}]}}}
FalsefindByAvailableFalse{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“false”,“fields”:[“available”]}}]}}}
OrderByfindByAvailableTrueOrderByNameDesc{“query”:{“bool”:{“must”:[{“query_string”:{“query”:“true”,“fields”:[“available”]}}]}},“sort”:[{“name”:{“order”:“desc”}}]}
ExistsfindByNameExists{“query”:{“bool”:{“must”:[{“exists”:{“field”:“name”}}]}}}
IsNullfindByNameIsNull{“query”:{“bool”:{“must_not”:[{“exists”:{“field”:“name”}}]}}}
IsNotNullfindByNameIsNotNull{“query”:{“bool”:{“must”:[{“exists”:{“field”:“name”}}]}}}
IsEmptyfindByNameIsEmpty{“query”:{“bool”:{“must”:[{“bool”:{“must”:[{“exists”:{“field”:“name”}}],“must_not”:[{“wildcard”:{“name”:{“wildcard”:“*”}}}]}}]}}}
IsNotEmptyfindByNameIsNotEmpty{“query”:{“bool”:{“must”:[{“wildcard”:{“name”:{“wildcard”:“*”}}}]}}}

不支持使用GeoJson参数构建Geo-shape查询的方法名。如果您需要在存储库中拥有这样的函数,请在自定义存储库实现中使用ElasticsearchOperations和CriteriaQuery。

三、方法返回类型

存储库方法可以定义为具有以下返回类型以返回多个元素:

  • List<T>
  • Stream<T>
  • SearchHits<T>
  • List<SearchHit<T>>
  • Stream<SearchHit<T>>
  • SearchPage<T>

四、使用@Query注解

例2:使用@Query注解在方法上声明query
传递给该方法的参数可以插入到查询字符串中的占位符中。第一个、第二个、第三个参数的占位符形式为?0、?1、?2等。

interface BookRepository extends ElasticsearchRepository<Book, String> {@Query("{\"match\": {\"name\": {\"query\": \"?0\"}}}")Page<Book> findByName(String name,Pageable pageable);
}

设置为注解参数的String必须是一个有效的Elasticsearch JSON查询。它将作为查询元素的值发送给Elasticsearch;例如,如果使用参数John调用函数,它将产生以下查询体:

{"query": {"match": {"name": {"query": "John"}}}
}

例3:使用Collection参数的方法上的@Query注解

@Query("{\"ids\": {\"values\": ?0 }}")
List<SampleEntity> getByIds(Collection<String> ids);

像上面这样的存储库方法将进行ID查询以返回所有匹配的文档。因此,调用List为[“id1”、“id2”、“id3”]的方法将生成查询体

{"query": {"ids": {"values": ["id1", "id2", "id3"]}}
}
http://www.yidumall.com/news/83269.html

相关文章:

  • 做爰片姿势网站互联网营销培训课程
  • 网站流量10g新闻头条最新消息今天
  • 福田区罗湖区宝安区龙华区建站优化公司
  • 国内好看的网站设计香港旺道旺国际集团
  • 别人的抖音网站是怎么做的网站优化seo推广服务
  • 简单的购物网站制作最近的新闻事件
  • 浙江温州乐清疫情最新消息香港seo公司
  • 性价比最高网站建设价格网络营销是什么课程
  • 郑州代做网站福州百度代理
  • 新乡做网站的公司谷歌seo网站排名优化
  • t恤在线定制如何seo网站推广
  • 网站后台管理系统使用手册网络营销策划方案格式
  • 网站备案查询流程如何优化关键词
  • 织梦做的网站首页排版错误seo软件推广
  • 网站建设wbs十大免费最亏的免费app
  • 网站风格分类搜索排名影响因素
  • 动态页网站比较好的友链平台
  • 郓城网站制作浏览器正能量网站免费
  • 网站后台html页面seo服务外包报价
  • 网站建设灯网站网络排名优化方法
  • 商业招商网站产品如何推广市场
  • 海曙区做网站百度官网认证申请
  • 手机微网站开发百度接单平台
  • 长春市长春网站建设哪家好软文推广文章范文1000
  • 政府网站建设与管理工作总结官方百度下载安装
  • 网站关键词添加多少个郑州靠谱seo电话
  • 建设网站的公司有哪些知乎全网自媒体平台大全
  • 网站建设一般多钱郴州seo外包
  • 最正规二手手表平台seo优化宣传
  • 如何建设网站的外链店铺推广软文案例