Compare commits
10 Commits
0c1ee87356
...
62b703f2da
Author | SHA1 | Date | |
---|---|---|---|
62b703f2da | |||
702dd0453a | |||
526f467974 | |||
7260e34c0f | |||
169bc15feb | |||
022dc6c008 | |||
18948166fc | |||
11e5986726 | |||
76f03c46b1 | |||
081b6d9e89 |
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
|||||||
Copyright 2014-2019 Alex Yatskov
|
Copyright 2014-2022 Alex Yatskov
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
68
README.md
68
README.md
@ -1,61 +1,35 @@
|
|||||||
# Restaurant Search #
|
# Restaurant Search
|
||||||
|
|
||||||
This project is a prototype semantic search web application that I developed as part of my master's thesis at [Keio
|
This project is a prototype semantic search web application that I developed as part of my master's thesis at [Keio
|
||||||
University](http://www.sfc.keio.ac.jp/). I presented the results of my research at [iiWAS
|
University](http://www.sfc.keio.ac.jp/). I presented the results of my research at [iiWAS
|
||||||
2015](http://www.iiwas.org/conferences/iiwas2015/home) in Brussels, Belgium. My article, titled [Restaurant Search with
|
2015](http://www.iiwas.org/conferences/iiwas2015/home) in Brussels, Belgium. My article, titled [Restaurant Search with
|
||||||
Predictive Multispace Queries](https://foosoft.net/projects/restaurant-search/dl/article.pdf) was published in the in the [ACM International Conference Proceeding
|
Predictive Multispace Queries](dl/article.pdf) was published in the in the [ACM International Conference Proceeding
|
||||||
Series](https://dl.acm.org/citation.cfm?id=2837185&picked=prox&cfid=817523401&cftoken=92411506).
|
Series](https://dl.acm.org/citation.cfm?id=2837185&picked=prox&cfid=817523401&cftoken=92411506). The video below
|
||||||
|
demonstrates the web application in action:
|
||||||
|
|
||||||
|
<video controls>
|
||||||
|
<source src="dl/search.mp4" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
|
||||||
You can get a better understanding of the goals of this experimental search system by referring to the [overview
|
You can get a better understanding of the goals of this experimental search system by referring to the [overview
|
||||||
presentation](https://foosoft.net/projects/restaurant-search/slides.zip); it provides a brief overview of the points covered in my article. Although I no longer make
|
presentation](dl/slides.zip); it provides a brief overview of the points covered in my article. Although I no longer
|
||||||
the prototype accessible on the web, it is easy to get it up and running locally by following the instructions below.
|
make the prototype accessible on the web, it is easy to get it up and running locally by following the instructions
|
||||||
|
below.
|
||||||
|
|
||||||
<iframe width="800" height="500" src="https://www.youtube.com/embed/Ic7Sq-oQ2DI" allowfullscreen></iframe>
|
## Installation
|
||||||
|
|
||||||
## Dependencies ##
|
|
||||||
|
|
||||||
* [Bower](https://bower.io/)
|
|
||||||
* [Go](https://golang.org/)
|
|
||||||
* [Node.js](https://nodejs.org/)
|
|
||||||
|
|
||||||
## Installation ##
|
|
||||||
|
|
||||||
1. Install the search application:
|
|
||||||
|
|
||||||
|
1. Install the dependencies: [Bower](https://bower.io/), [Go](https://golang.org/), and [Node.js](https://nodejs.org/).
|
||||||
|
2. Install the search application:
|
||||||
```
|
```
|
||||||
$ go get github.com/FooSoft/restaurant-search
|
go install foosoft.net/projects/restaurant-search@latest
|
||||||
```
|
```
|
||||||
|
3. Install the client libraries (from the `search/static` directory):
|
||||||
2. Install the client libraries (from the `search/static` directory):
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ bower install
|
bower install
|
||||||
```
|
```
|
||||||
|
4. Build and start the server (from the `search/cmd` directory):
|
||||||
3. Build and start the server (from the `search/cmd` directory):
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ go build
|
go build
|
||||||
$ ./cmd
|
./cmd
|
||||||
```
|
```
|
||||||
|
5. Access the web application at `localhost:8080`.
|
||||||
4. Access the web application at `localhost:8080`.
|
|
||||||
|
|
||||||
## License ##
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
BIN
dl/article.pdf
Normal file
BIN
dl/article.pdf
Normal file
Binary file not shown.
BIN
dl/search.mp4
Normal file
BIN
dl/search.mp4
Normal file
Binary file not shown.
BIN
dl/slides.zip
Normal file
BIN
dl/slides.zip
Normal file
Binary file not shown.
27
go.mod
Normal file
27
go.mod
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
module foosoft.net/projects/restaurant-search
|
||||||
|
|
||||||
|
go 1.18
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/FooSoft/search v0.0.0-20211216020216-022dc6c008c0
|
||||||
|
github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57
|
||||||
|
github.com/PuerkitoBio/goquery v1.8.0
|
||||||
|
github.com/fatih/color v1.13.0
|
||||||
|
github.com/kellydunn/golang-geo v0.7.0
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.14
|
||||||
|
github.com/naoina/toml v0.1.1
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/andybalholm/cascadia v1.3.1 // indirect
|
||||||
|
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 // indirect
|
||||||
|
github.com/kylelemons/go-gypsy v1.0.0 // indirect
|
||||||
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||||
|
github.com/lib/pq v1.10.6 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.9 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
||||||
|
github.com/naoina/go-stringutil v0.1.0 // indirect
|
||||||
|
github.com/ziutek/mymysql v1.5.4 // indirect
|
||||||
|
golang.org/x/net v0.0.0-20210916014120-12bc252f5db8 // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
|
||||||
|
)
|
44
go.sum
Normal file
44
go.sum
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
github.com/FooSoft/search v0.0.0-20211216020216-022dc6c008c0 h1:192aNzkh8F6h3/E2QiKigf4E213rlPOHJ3JOXdFbTIE=
|
||||||
|
github.com/FooSoft/search v0.0.0-20211216020216-022dc6c008c0/go.mod h1:dEwlBrr5LpBdlbXQxK7S7UYZMwwpXlKjK0rdoI7Od00=
|
||||||
|
github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57 h1:EUQH/F+mzJBs53c75r7R5zdM/kz7BHXoWBFsVXzadVw=
|
||||||
|
github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57/go.mod h1:5zDl2HgTb/k5i9op9y6IUSiuVkZFpUrWGQbZc9tNR40=
|
||||||
|
github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U=
|
||||||
|
github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI=
|
||||||
|
github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c=
|
||||||
|
github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA=
|
||||||
|
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
|
||||||
|
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
|
||||||
|
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
|
||||||
|
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||||
|
github.com/kellydunn/golang-geo v0.7.0 h1:A5j0/BvNgGwY6Yb6inXQxzYwlPHc6WVZR+MrarZYNNg=
|
||||||
|
github.com/kellydunn/golang-geo v0.7.0/go.mod h1:YYlQPJ+DPEzrHx8kT3oPHC/NjyvCCXE+IuKGKdrjrcU=
|
||||||
|
github.com/kylelemons/go-gypsy v1.0.0 h1:7/wQ7A3UL1bnqRMnZ6T8cwCOArfZCxFmb1iTxaOOo1s=
|
||||||
|
github.com/kylelemons/go-gypsy v1.0.0/go.mod h1:chkXM0zjdpXOiqkCW1XcCHDfjfk14PH2KKkQWxfJUcU=
|
||||||
|
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
||||||
|
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
|
||||||
|
github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs=
|
||||||
|
github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||||
|
github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U=
|
||||||
|
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||||
|
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||||
|
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
||||||
|
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw=
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||||
|
github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks=
|
||||||
|
github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
|
||||||
|
github.com/naoina/toml v0.1.1 h1:PT/lllxVVN0gzzSqSlHEmP8MJB4MY2U7STGxiouV4X8=
|
||||||
|
github.com/naoina/toml v0.1.1/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
|
||||||
|
github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
|
||||||
|
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
|
||||||
|
golang.org/x/net v0.0.0-20210916014120-12bc252f5db8 h1:/6y1LfuqNuQdHAm0jjtPtgRcxIxjVZgm5OTu8/QhZvk=
|
||||||
|
golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
Loading…
Reference in New Issue
Block a user