All Projects → heejunghwang → Movie Finder

heejunghwang / Movie Finder

오픈소스 검색엔진인 Elasticsearch 를 활용하여 '영화'를 검색을 하는 Vue.js 프로젝트

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
Npm Consult
NPM Project Consultant CLI
Stars: ✭ 13 (-38.1%)
Mutual labels:  npm
Apm Server
APM Server
Stars: ✭ 878 (+4080.95%)
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
Release Man
听说你发新版总忘记打 Tag 和改 package.json?
Stars: ✭ 14 (-33.33%)
Mutual labels:  npm
Strangelog
Painless file-based changelog management via CLI.
Stars: ✭ 12 (-42.86%)
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
Magic
CSS3 Animations with special effects
Stars: ✭ 7,253 (+34438.1%)
Mutual labels:  npm
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 프로젝트

예제

  • youtube link ElasticsearchWithElasticsearch

실행 전 준비사항

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 설치

프로젝트 실행

# 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). 인덱스 생성

  • Manage 메뉴에서 Create Index 클릭 후, movie 생성 image

  • Manage 메뉴에서 Create Index 클릭 후, movie_autocomplete 생성 image

(2) 필드 매핑 설정

  • Manage 메뉴에서 movie에서 설정 버튼을 클릭 후, 은전한닢s 클릭 후 필드 매핑 생성 image

  • Manage 메뉴에서 movie_autocomplete에서 설정 버튼을 클릭 후, 자모분석기 클릭 후 필드 매핑 생성 image

(3) 데이터 색인

  • ImportData 메뉴에서 movie 클릭
  • ImportData 메뉴에서 movie_autocomplete 클릭 image

(4) 검색

  • Search 탭에서 검색 결과 확인 image

(5) 분석기 확인

  • AnalyzeText 메뉴에서 분석기 확인 image

폴더 구조 설명

/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

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].