{{ note.content }}

Solr에서 exact match(필드 텍스트 전체 일치)구현하기


본 글은 픽션입니다. 실존하는 단체, 인물, 제품과는 무관함을 알려드립니다.

문제의 시작

젤리 판매사이트 - 주식회사 젤리의 망상 - 에선 여러가지 젤리를 많이 판매하고 있다. 젤리의 망상에서 몇년전에 출시한 “하리봉과 곰이베어” 제품은 인기가 너무 많았다. 그 이후 이 제품은 여러가지 시리즈 제품으로 출시하기 시작한다.
“하리봉과 곰이베어”
“하리봉과 곰이베어 익스트림”
“하리봉과 곰이베어 2”
“하리봉과 곰이베어 3”
“하리봉과 곰이베어 스페셜”
“하리봉과 곰이베어 스페셜 2”
“하리봉과 곰이베어 후르츠 믹스”
“하리봉과 곰이베어 짱맛 짱짯맛”
“하리봉과 곰이베어 ...


Thymeleaf 사용경험 공유


Java의 뷰템플릿

최근 프론트엔드 개발도 하게 되면서, 뷰템플릿에 대해 많이 고려했다. 이렇게 뷰템플릿을 많이 생각해본 것도 jsoup을 사용하게 된 이유랑 비슷한데, 일단 장고(django)의 뷰템플릿을 한번 경험해본 게 큰 이유였다. 확실히 JSP + JSTL 보다는 훨씬 쉬웠기 때문이다. 이런 경험이 있다보니 자바에서 비슷한 구현체를 찾았고, Thymeleaf, freemarker, tiles, jade4j 등등을 비교해 보았다. 그리고 최종적으론 Thymeleaf로 결정했다.

Thymeleaf를 선택한 이유

처음엔 이거 대체 어떻게 읽어야 될지 몰랐는데, 타임리프라고 읽는다 카더라 ...

jsoup 사용중 SocketTimeoutException


Java의 BeautifulSoup

요즘 여러가지 언어들을 사용하다보니, 한번 사용해보고 좋았던 라이브러리들은, 다른 언어로도 구현된 것들을 찾아보곤한다. jsoup도 그중에 하나인데, python으로 구현된 BeautifulSoup을 구현한 것이다. 최근 페이지를 스크랩해서 데이터를 정제해야할 일이 있었다. 모듈화 해서 쓰려고 자바로 된 구현체를 찾다가, jsoup을 발견하게 되었고, 최근엔 많이 사용하고 있다.. 사용방법은 잘 정리된 글이 많으니 따로 다루진 않겠다. (사용법이 잘 정리된 글 > 에돌이의 얕고 넓은 샘 :: jsoup - 자바를 위한 BeautifulSoup (HTML parser))

뜬금없는 SocketTimeoutException ...


Solr schema 설정 관련 주의점 (qf 사용시 검색이 안될때)


qf만 설정하면 검색이 안됨...

아직 솔라에 관한 이해도 별로 없고, 자료도 별로 없어서 한참을 해맸다.

솔라의 dismax를 설정하고 qf 옵션을 함께 설정한 뒤 특정 코드(ID와 같은 unique value)를  검색하면 검색이 안되는 문제가 발생하였는데

처음엔 qf에 대한 가중치 문제로 접근했다가 시간을 너무 많이 소비했다.

아직까지 정확한 원인은 모르겠으나, 아래와 같이 string으로 타입을 지정하여 필터를 제거해서 문제를 해결하였다.

설정 전 예시

<field name="id" type="text_en" indexed="true" stored="true"required="true" /> 

<field name="name" type="text_en" indexed ...


Page 1 of 8.