spanner fts demo
1.0.0
spanner-search-demo是一个Web应用程序,允许用户执行文本搜索并查看结果。该应用程序是使用VUE.JS为前端构建的,并使用后端。该应用程序旨在展示云扳手的全文搜索功能。
要安装必要的依赖项,请运行:
npm install要启动开发服务器,请运行:
npm run serve然后可以通过以下方式访问Web应用程序:
App running at:
- Local: http://localhost:3000/
- Network: http://192.168.0.192:3000/
要建立生产项目,请运行:
npm run build确保您已安装。然后,通过运行安装必要的GO依赖项:
go mod tidy创建一个Spanner实例,数据库和表。
CREATE TABLE Restaurants (
id STRING(MAX) NOT NULL ,
dateAdded TIMESTAMP OPTIONS (
allow_commit_timestamp = true
),
dateUpdated TIMESTAMP OPTIONS (
allow_commit_timestamp = true
),
address STRING(MAX),
categories STRING(MAX),
primaryCategories STRING(MAX),
city STRING(MAX),
country STRING(MAX),
keys STRING(MAX),
latitude FLOAT64,
longitude FLOAT64,
name STRING(MAX),
postalCode STRING(MAX),
province STRING(MAX),
sourceURLs STRING(MAX),
websites STRING(MAX),
name_token TOKENLIST AS (tokenize_fulltext(name)) HIDDEN,
categories_token TOKENLIST AS (tokenize_substring(categories)) HIDDEN,
city_Tokens TOKENLIST AS (TOKENIZE_FULLTEXT(city)) HIDDEN,
) PRIMARY KEY (id);;创建全文搜索索引
CREATE SEARCH INDEX RestaurantsIndex ON Restaurants(name_token, categories_token);使用美国各地的样本数据快餐店,并将其进口到云扳手中,以展示其全文搜索功能。编辑import.go配置扳手设置。
go run main.go -import -file=Datafiniti_Fast_Food_Restaurants_Jun19.csv要启动后端服务器,请编辑main.go配置SPANNER设置,然后运行以下命令:
go run main.go执行搜索
搜索结果将显示在搜索栏下方。每个结果都包括诸如国家,城市,姓名,地址,网站和类别之类的详细信息。
该应用程序将执行的SQL查询打印到控制台以进行调试目的。这有助于验证查询的正确性。
该应用程序还将每个搜索结果打印到控制台。这有助于验证搜索结果的正确性。
project-root/
├── main.go
├── importer/
│ ├── import.go
├── search/
│ ├── search.go
│ └── results.go
├── public/
│ ├── index.html
├── src/
│ ├── assets/
│ │ └── tailwind.css
│ ├── App.vue
│ └── main.js
├── babel.config.js
├── postcss.config.js
├── tailwind.config.js
├── package.json
├── README.md
└── vue.config.js
该项目使用Tailwind CSS进行样式。确保在tailwind.config.js和Postcss.config.js中正确设置尾风CSS配置。
VUE配置在vue.config.js中定义,该vue.config.js设置了开发服务器端口和其他设置。