일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 논블록킹 성능
- pinpoint
- ㅉ때
- R2DBC Paging
- nGinder
- OIDC
- save/update
- fake jwt
- jsonMarshaller
- 7879
- hbase 저장공간 설정
- formik
- Armeria
- pinpoint 2.5.3
- 오블완
- 핀포인트
- 플루터
- intellij
- 개발 어렵당.ㅠ
- LPOS
- 애자일 싫타
- 티스토리챌린지
- 월급루팡 일지
- reids
- Ingress Controller Fake
- jar 배포
- 노드간 통신
- Loki 로그
- RedirectService
- UnsupportedOperationException
- Today
- Total
대머리개발자
[solr9] dev 설치 본문
Elasticsearch이 현재 기준 거의 압승인듯 하다.
그럼에도 불구하고 비주류 친구를 선택했다. 힘내 친구야 너도 충분히 멋진 놈이여!!
백문불여일견 일단 설치
https://solr.apache.org/guide/solr/latest/deployment-guide/solr-in-docker.html
Solr in Docker :: Apache Solr Reference Guide
The Solr docker image runs Solr under tini, to make signal handling work better; in particular, this allows you to kill -9 the JVM. If you run docker run --init, or use init: true in docker-compose.yml, or have added --init to dockerd, docker will start it
solr.apache.org
version: '3'
services:
solr:
image: solr
ports:
- "8983:8983"
volumes:
- ./solr:/var/solr
command:
- solr-precreate
- gettingstarted
docker-compose -f docker-solr.yml up -d
접속해보자!! 굿잡!
설치 하나는 진짜 귀가 막히게 쉽다.
🌟🌟 이제 데이터를 넣어 보고 검색을 진행 할 것이다.
잘 모르지만 solr는 core기준으로 데이터를 collect 하는 것 같다.
도커컴퍼즈로 구성할 때 gettingstarted를 같이 만들었지만 새로운 core를 만들고 색인 데이터를 인입해보자.
LNB 메뉴 "Core Admin"을 통해서 진행하면 초기화 실패가 발생한다.
도커 접속 해서 콘솔로 진행!
solr create -c core_name
뭔가 권장되지 않는다고 하지만 테스트이기 때문에 일단 PASS
관리자 메뉴에서 생성확인(myDoc)
데이터를 인입하는 방법이 여러가지가 있겠지만 Client API를 통해서 진행
Solr 버전과 동일한 버전으로 디펜더쉬!
implementation("org.apache.solr:solr-solrj:9.5.0")
fun main(){
val urlString = "http://localhost:8983/solr/myDoc"
val solrClient = Http2SolrClient.Builder(urlString).build()
//doc 객체 생성
val doc = SolrInputDocument()
//doc객체에 필드 추가
doc.addField("id", "005")
doc.addField("name", "title")
doc.addField("content", "11111")
//솔라에 doc 추가
solrClient.add(doc)
//commit
solrClient.commit()
println("Documents added")
}
쿼리 메뉴를 통해서 인입한 데이터를 확인해보자!
API 로 조회...
fun searchQuery(solrClient: Http2SolrClient){
val query = SolrQuery()
query.setQuery("contenta:*색의*")
query.addField("id")
query.addField("name")
query.addField("contenta")
val queryResponse = solrClient.query(query)
//응답으로 온 객체의 모든 문서 출력
val docs: SolrDocumentList = queryResponse.getResults()
for(doc in docs) {
println(doc)
}
}
모든 것이 좋았다.
사실 엘라스틱으로 진행하고자 했다.
많은 래퍼런스가 있고.....있고...있고..
But 우리 기준으로 배보다 배꼽이 더 클것 같은 느낌
아무리 내 돈으로 지불하는 것이 아니라고 하더라도 절약할 수 있는 비용은 Cut 해야지ㅎ
키바나를 붙여서 완벽하게 활용할 수 있겠지만 약 투머취
나만 회사 비용을 생각한다.ㅋㅋ
'개발이야기 > 오픈소스 설치' 카테고리의 다른 글
[solr9] - core 생성 (0) | 2024.02.29 |
---|---|
[solr9] 색인.. (0) | 2024.02.27 |
K8S - 노드 이전! (0) | 2024.02.22 |
그라파나 + Loki Retention 설정 (0) | 2024.02.14 |
NKS 핀포인트 - 운영 (0) | 2024.01.17 |