ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,
通过http请求发送给ES。官方文档地址: https://www.elastic.co/quide/en/elasticsearch/client/index.html
目录
一、用JavaRestClient实现创建、删除索引库,判断索引库是否存在
用JavaRestClient实现创建、删除索引库,判断索引库是否存在
sql数据库
?项目结构
mapping要考虑的问题
字段名、数据类型、是否参与搜索、是否公词、如果分词,分词器是什么??
copy_to字段是ES中的一个特殊字段,它允许将一个或多个字段的内容复制到一个新的字段中。这个新的字段可以用于特定的搜索需求,而不需要改变原始字段的映射。copy_to字段的使用可以帮助我们更灵活地进行搜索和分析
- 使用“copy content"字段来进行全文搜索时,不需要考虑原始字段的映射,这样,我们可以在
- 不改变原始字段的情况下,可以根据实际需求定义不同的搜索规则。
- copy to字段还可以用于实现数据的冗余存储
- copy to字段还可以用于实现数据的多字段索引
?字段拷贝可以使用copy_to属性将当前字段拷贝到指定字段。示例:
?示例
# 酒店的mapping
PUT? ?/hotel
{
????????"mappings":{
????????????????"properties":{
????????????????????????"id":{
????????????????????????????????"type":"keyword"
????????????????????????},
????????????????????????"name":{
????????????????????????????????"type":"text",? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "analyzer":"ik_max_word",
????????????????????????????????"copy_to":"all"
????????????????????????},
????????????????????????"address":{
????????????????????????????????"type":"keyword",
????????????????????????????????"index": false
? ? ? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? ? ? "price":{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "type":"integer"
????????????????????????},
? ? ? ? ? ? ? ? ? ? ? ? "score":{????????????????????????????????"type":"integer"
? ? ? ? ? ? ? ? ? ? ? ? },
????????????????????????"brand":{????????????????????????????????"type" :"keyword",
????????????????????????????????"all":"copy_to"
? ? ? ? ? ? ? ? ? ? ? ? },
????????????????????????"city":{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "type":"keyword"
????????????????????????},
? ? ? ? ? ? ? ? ? ? ? ? "starName":{
????????????????????????????????"type":"keyword"
? ? ? ? ? ? ? ? ? ? ? ? },
????????????????????????"business":{
????????????????????????????????"type":"keyword",
????????????????????????????????"copy_to":"all"
? ? ? ? ? ? ? ? ? ? ? ? },? ? ??
????????????????????????"location":{????????????????????????????????"type":"geo_point"
? ? ? ? ? ? ? ? ? ? ? ? },
????????????????????????"pic":{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Ieyword":"type",
????????????????????????????????"index": false
? ? ? ? ? ? ? ? ? ? ? ? }
????????????????????????all":{????????????????????????????????"type":"text",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "analyzer":"ik_max_word"
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? }
}
1.3?