Flutter 弹性颤振
我在后端使用Firestore和Elasticsearch,在后端使用Flatter。我使用云函数成功地集成了Firestore和Elasticsearch。我不清楚如何将颤振与弹性搜索相结合 我的Elasticsearch实例有用户索引,Flatter应该向Elasticsearch发送一个查询,询问满足查询的用户列表。只有经过身份验证的用户才能发送此类请求 任何物体都知道将颤振与弹性搜索相结合的最佳方法 提前感谢。使用此软件包 包装: 视频教程 示例代码:Flutter 弹性颤振,flutter,elasticsearch,Flutter,elasticsearch,我在后端使用Firestore和Elasticsearch,在后端使用Flatter。我使用云函数成功地集成了Firestore和Elasticsearch。我不清楚如何将颤振与弹性搜索相结合 我的Elasticsearch实例有用户索引,Flatter应该向Elasticsearch发送一个查询,询问满足查询的用户列表。只有经过身份验证的用户才能发送此类请求 任何物体都知道将颤振与弹性搜索相结合的最佳方法 提前感谢。使用此软件包 包装: 视频教程 示例代码: import 'package:
import 'package:elastic_client/elastic_client.dart';
Future<void> main() async {
final transport = HttpTransport(url: 'http://localhost:9200/');
final client = Client(transport);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_1',
doc: {'some': 'data', 'name': 'Sue', 'distance': 10},
);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_2',
doc: {'some': 'data', 'name': 'Bob', 'distance': 20},
);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_3',
doc: {'some': 'data', 'name': 'Joe', 'distance': 10},
);
await client.flushIndex(index: 'my_index');
final rs1 = await client.search(
index: 'my_index',
type: 'my_type',
query: Query.term('some', ['data']),
source: true);
print(rs1.toMap());
print('---');
final rs2 = await client.search(
index: 'my_index',
type: 'my_type',
query: Query.term('some', ['data']),
source: [
'some',
'name'
],
sort: [
{'distance': 'asc'},
{'name.keyword': 'asc'}
]);
print(rs2.toMap());
await client.addAlias(index: 'my_index', alias: 'my_index_alias');
await client.updateDoc(
index: 'my_second_index',
type: 'my_type',
id: 'my_id_1',
doc: {'some': 'data', 'name': 'Alice', 'distance': 10},
);
await client.swapAlias(
alias: 'my_index_alias', from: 'my_index', to: 'my_second_index');
final aliases = await client.getAliases(aliases: ['my_index_*']);
print(aliases.map((e) => {'alias': e.alias, 'index': e.index}));
await client.removeAlias(index: 'my_second_index', alias: 'my_index_alias');
await transport.close();
}
import'包:elastic_client/elastic_client.dart';
Future main()异步{
最终传输=HttpTransport(url:'http://localhost:9200/');
最终客户=客户(运输);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id”,
文件:{'some':'data','name':'Sue','distance':10},
);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id 2”,
文件:{'some':'data','name':'Bob','distance':20},
);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id 3”,
文件:{'some':'data','name':'Joe','distance':10},
);
等待客户。flushIndex(索引:“我的索引”);
final rs1=等待客户端。搜索(
索引:“我的索引”,
类型:“我的类型”,
query:query.term('some',['data']),
资料来源:真实);
打印(rs1.toMap());
印刷品(“--”);
final rs2=等待客户端。搜索(
索引:“我的索引”,
类型:“我的类型”,
query:query.term('some',['data']),
资料来源:[
“一些”,
“姓名”
],
排序:[
{'distance':'asc'},
{'name.keyword':'asc'}
]);
打印(rs2.toMap());
wait client.addAlias(索引:“我的索引”,别名:“我的索引”别名);
等待client.updateDoc(
索引:“我的第二个索引”,
类型:“我的类型”,
id:“我的id”,
文件:{'some':'data','name':'Alice','distance':10},
);
等待客户(
别名:“我的索引别名”,从“我的索引”到“我的第二个索引”);
final alias=wait client.getalias(别名:['my_index_*');
打印(alias.map((e)=>{'alias':e.alias,'index':e.index});
等待客户端.removeAlias(索引:'my_second_index',别名:'my_index_alias');
等待运输。关闭();
}
使用此软件包
包装:
视频教程
示例代码:
import 'package:elastic_client/elastic_client.dart';
Future<void> main() async {
final transport = HttpTransport(url: 'http://localhost:9200/');
final client = Client(transport);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_1',
doc: {'some': 'data', 'name': 'Sue', 'distance': 10},
);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_2',
doc: {'some': 'data', 'name': 'Bob', 'distance': 20},
);
await client.updateDoc(
index: 'my_index',
type: 'my_type',
id: 'my_id_3',
doc: {'some': 'data', 'name': 'Joe', 'distance': 10},
);
await client.flushIndex(index: 'my_index');
final rs1 = await client.search(
index: 'my_index',
type: 'my_type',
query: Query.term('some', ['data']),
source: true);
print(rs1.toMap());
print('---');
final rs2 = await client.search(
index: 'my_index',
type: 'my_type',
query: Query.term('some', ['data']),
source: [
'some',
'name'
],
sort: [
{'distance': 'asc'},
{'name.keyword': 'asc'}
]);
print(rs2.toMap());
await client.addAlias(index: 'my_index', alias: 'my_index_alias');
await client.updateDoc(
index: 'my_second_index',
type: 'my_type',
id: 'my_id_1',
doc: {'some': 'data', 'name': 'Alice', 'distance': 10},
);
await client.swapAlias(
alias: 'my_index_alias', from: 'my_index', to: 'my_second_index');
final aliases = await client.getAliases(aliases: ['my_index_*']);
print(aliases.map((e) => {'alias': e.alias, 'index': e.index}));
await client.removeAlias(index: 'my_second_index', alias: 'my_index_alias');
await transport.close();
}
import'包:elastic_client/elastic_client.dart';
Future main()异步{
最终传输=HttpTransport(url:'http://localhost:9200/');
最终客户=客户(运输);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id”,
文件:{'some':'data','name':'Sue','distance':10},
);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id 2”,
文件:{'some':'data','name':'Bob','distance':20},
);
等待client.updateDoc(
索引:“我的索引”,
类型:“我的类型”,
id:“我的id 3”,
文件:{'some':'data','name':'Joe','distance':10},
);
等待客户。flushIndex(索引:“我的索引”);
final rs1=等待客户端。搜索(
索引:“我的索引”,
类型:“我的类型”,
query:query.term('some',['data']),
资料来源:真实);
打印(rs1.toMap());
印刷品(“--”);
final rs2=等待客户端。搜索(
索引:“我的索引”,
类型:“我的类型”,
query:query.term('some',['data']),
资料来源:[
“一些”,
“姓名”
],
排序:[
{'distance':'asc'},
{'name.keyword':'asc'}
]);
打印(rs2.toMap());
wait client.addAlias(索引:“我的索引”,别名:“我的索引”别名);
等待client.updateDoc(
索引:“我的第二个索引”,
类型:“我的类型”,
id:“我的id”,
文件:{'some':'data','name':'Alice','distance':10},
);
等待客户(
别名:“我的索引别名”,从“我的索引”到“我的第二个索引”);
final alias=wait client.getalias(别名:['my_index_*');
打印(alias.map((e)=>{'alias':e.alias,'index':e.index});
等待客户端.removeAlias(索引:'my_second_index',别名:'my_index_alias');
等待运输。关闭();
}
这对您有帮助吗?它需要在Flatter中使用elasticsearch的用户名和密码。这不是很危险吗?这对你有帮助吗?它需要在Flatter中使用elasticsearch的用户名和密码。那不是很危险吗?