日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過SQL連接并使用搜索引擎

Lindorm搜索引擎支持SQL JDBC訪問,本文介紹如何使用開源的Solr JDBC訪問Lindorm搜索引擎。

前提條件

  • 已開通Lindorm搜索引擎,具體操作請參見開通指南

  • 已將客戶端的IP地址加入到Lindorm實例的白名單中,具體操作,請參見設(shè)置白名單

  • 已獲取Lindorm搜索SQL地址,具體操作,請參見查看連接地址

添加Maven依賴

在您的Java應(yīng)用pom.xml中添加如下依賴:

<dependency> 
  <groupId>com.aliyun.lindorm</groupId>  
  <artifactId>lindorm-all-client</artifactId>
  <version>2.1.2</version>
</dependency>

創(chuàng)建索引

可以通過集群管理頁面創(chuàng)建索引表,具體操作請參見管理索引表

連接代碼示例

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

public class SearchSqlDemo {
    public static void main(String[] args) {
        Connection pconn = null;
        Statement stmt = null;
        try {
            //加載搜索引擎Driver
            Class.forName("com.aliyun.lindorm.search.client.Driver");

            //配置Lindorm搜索SQL地址
            String url = "jdbc:lindorm:search:url=http://ld-xxxx:30070";

            Properties props = new Properties();
            //設(shè)置用戶名和密碼
            props.put("user", "testuser");
            props.put("password", "password");

            //建立連接
            pconn = DriverManager.getConnection(url, props);

            //創(chuàng)建Statement
            stmt = pconn.createStatement();
            //建表
            stmt.execute("create table if not exists test(c1 int, c2 varchar, primary key(c1))");

            //單條寫入
            stmt.execute("upsert into test(c1,c2) values(1,'深圳')");
            stmt.execute("upsert into test(c1,c2) values(2,'上海')");

            //批量寫入
            stmt.execute("upsert into test(c1,c2) values(3,'北京'),(4,'廣州'),(5,'杭州')");

            //查詢
            ResultSet rs = stmt.executeQuery("select * from test order by c1 ");
            System.out.println("#####before delete:");
            while (rs.next()) {
                System.out.println("c1=" + rs.getInt("c1") + ",c2=" + rs.getString("c2"));
            }

            //刪除記錄
            stmt.execute("delete from test where c1 >3");

            //查詢
            rs = stmt.executeQuery("select * from test order by c1 ");
            System.out.println("#####after delete:");
            while (rs.next()) {
                System.out.println("c1=" + rs.getInt("c1") + ",c2=" + rs.getString("c2"));
            }

            //刪表
            stmt.execute("drop table if exists test");
        } catch (Throwable e) {
            e.printStackTrace();
        } finally {
            //清理Statement和連接
            //注意:在實際環(huán)境中盡量通過連接池來避免頻繁創(chuàng)建和釋放連接,以便提升性能。
            try {
                if (stmt != null) {
                    stmt.close();
                }
                if (pconn != null) {
                    pconn.close();
                }
            } catch (Throwable e) {
                e.printStackTrace();
            }
        }
    }
}