elasticsearch,Flutter,elasticsearch" /> elasticsearch,Flutter,elasticsearch" />

Flutter 弹性颤振

Flutter 弹性颤振,flutter,elasticsearch,Flutter,elasticsearch,我在后端使用Firestore和Elasticsearch,在后端使用Flatter。我使用云函数成功地集成了Firestore和Elasticsearch。我不清楚如何将颤振与弹性搜索相结合 我的Elasticsearch实例有用户索引,Flatter应该向Elasticsearch发送一个查询,询问满足查询的用户列表。只有经过身份验证的用户才能发送此类请求 任何物体都知道将颤振与弹性搜索相结合的最佳方法 提前感谢。使用此软件包 包装: 视频教程 示例代码: import 'package:

我在后端使用Firestore和Elasticsearch,在后端使用Flatter。我使用云函数成功地集成了Firestore和Elasticsearch。我不清楚如何将颤振与弹性搜索相结合

我的Elasticsearch实例有用户索引,Flatter应该向Elasticsearch发送一个查询,询问满足查询的用户列表。只有经过身份验证的用户才能发送此类请求

任何物体都知道将颤振与弹性搜索相结合的最佳方法

提前感谢。

使用此软件包

包装:

视频教程

示例代码:

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的用户名和密码。那不是很危险吗?