heejunghwang / Movie Finder
오픈소스 검색엔진인 Elasticsearch 를 활용하여 '영화'를 검색을 하는 Vue.js 프로젝트
Stars: ✭ 21
Labels
Projects that are alternatives of or similar to Movie Finder
Smartphoto
The most easy to use responsive image viewer especially for mobile devices
Stars: ✭ 858 (+3985.71%)
Mutual labels: npm
Conventional Changelog Angular Emoji
👍 Emoijis for the Angular Commit Guidelines with Emojis
Stars: ✭ 13 (-38.1%)
Mutual labels: npm
Openssl Self Signed Certificate
Self-signed certificate for development use, generated using openssl.
Stars: ✭ 14 (-33.33%)
Mutual labels: npm
Python Kafka Elasticsearch
Simple learning project pushing CSV data into Kafka then indexing the data in ElasticSearch
Stars: ✭ 11 (-47.62%)
Mutual labels: elasticsearch
Yarn Package Boilerplate
An Yarn package with babel, jest, flow, prettier and more
Stars: ✭ 10 (-52.38%)
Mutual labels: npm
Npm Safe Install
A node cli that performs npm install in a safe manner such the locally linked modules are not removed during install
Stars: ✭ 20 (-4.76%)
Mutual labels: npm
Yarpm
CLI tool to run npm scripts with either npm or yarn, depending on how it was started
Stars: ✭ 13 (-38.1%)
Mutual labels: npm
Office365 Management Api Elk
An API connector for the Office 365 Management API and the Elastic Stack
Stars: ✭ 13 (-38.1%)
Mutual labels: elasticsearch
Typescript Type Generator
Generate interfaces on the go! Network request? Then generate interfaces for response!
Stars: ✭ 11 (-47.62%)
Mutual labels: npm
Angularcomponentplotly
Angular Component for Plotly, ASP.NET Core, Elasticsearch
Stars: ✭ 14 (-33.33%)
Mutual labels: elasticsearch
Moqui Elasticsearch
Moqui Tool Component for ElasticSearch useful for scalable faceted text search, and analytics and reporting using aggregations and other great features
Stars: ✭ 10 (-52.38%)
Mutual labels: elasticsearch
Eliot
Eliot: the logging system that tells you *why* it happened
Stars: ✭ 874 (+4061.9%)
Mutual labels: elasticsearch
Awesome Mad Science
Delightful npm packages that make you say "wow, didn't know that was possible!"
Stars: ✭ 909 (+4228.57%)
Mutual labels: npm
Laravel Scout Elastic
Elastic Driver for Laravel Scout
Stars: ✭ 886 (+4119.05%)
Mutual labels: elasticsearch
Flexsearch
Next-Generation full text search library for Browser and Node.js
Stars: ✭ 8,108 (+38509.52%)
Mutual labels: elasticsearch
movie-finder
오픈소스 검색엔진인 Elasticsearch 를 활용하여 '영화'를 검색을 하는 Vue.js 프로젝트
예제
실행 전 준비사항
1. Java 8 설치
2. Elasticsearch 6.0.0 이상 버전 설치
3. Elasticsearch 분석기(Analyzer) 플러그인 설치
(1) s은전한닢 분석기 설치
(2) 자모 분석기 설치
-
링크 : https://github.com/punxism/elasticsearch-hangul-jamo-plugin 에서 소스 다운로드
-
/src/mainresources/plugin-descriptor.properties
수정elasticsearch.version=6.0.0 (해당 엘라스틱서치 버전에 맞게 수정)
-
pom.xml
수정 (해당 엘라스틱서치 버전에 맞게 루씬, 엘라스틱서치 버전 수정)<properties> <elasticsearch.version>6.0.0</elasticsearch.version> <lucene.version>7.0.1</lucene.version> </properties>
- 빌드
mvn clean package
- 플러그인 설치 : 빌드된 zip 파일 사용하여 플러그인 설치
${elasticsearch.home}/bin/elasticsearch-plugin install file://${project.basedir}/target/releases/elasticsearch-hangul-jamo-analyzer-{version}.zip
4. node.js 설치
- 링크 : https://nodejs.org/ko/
- 버전 8.9.4 이상
프로젝트 실행
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
For a detailed explanation on how things work, check out the guide and docs for vue-loader.
예제 설명
(1). 인덱스 생성
(2) 필드 매핑 설정
(3) 데이터 색인
(4) 검색
(5) 분석기 확인
폴더 구조 설명
/config : 설정정보
ㄴ elasticsearch.env.js : 엘라스틱 서치 호스트 및 포트 정보
/src/api : 엘라스틱서치 api 모음
ㄴ bulk.js : bulk api
ㄴ cat.js : cat api
ㄴ elasticsearchConnection.js : 엘라스틱서치 클라이언트(연결)
ㄴ indice : index api
ㄴ search : search api
/assets : 정적 파일 폴더
/components : vue.js 컴포넌트
/rawdata : 원본데이터 (출처 : 영화진흥위원회)
/router : 라우팅 관련 폴더
참고
- 엘라스틱서치와 movie-finder 프로젝트가 동일한 도메인이 아닐경우, CORS 설정 필요
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ~~~
- elasticserach_home/config/elasticsearch.yml 파일에서 아래 추가
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With,X-Auth-Token,Content-Type, Content-Length, Authorization"
지원 브라우저(Support Browser)
- Chrome
데이터 출처
- 영화관입장권통합전산망 오픈 API (영화진흥위원회)
Additional Link
- 자바카페 블로그 : http://tech.javacafe.io/
- 자바카페 git : https://github.com/JAVACAFE-STUDY
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].