2016년 7월 7일 목요일

Classic ASP에서 solr 검색 값 Parsing 하기

검색 서버는 알아서들 구축 (solr 이젠 쉽죠?)

현재 개발환경 IIS 7.5

ASP는 오래된거에 비해서 야매 같은 기술들이 많아서리..

이번 건도.. 뭐가 정확한지 잘 모르겠으나..

일단 내 경험에서 되는걸로..


'검색서버에서 제품 정보 읽어서 XML로 저장하기..' Response.Buffer = true Session.CodePage = 949 상품코드 = "상품코드" Set objXmlHttp = server.CreateObject("Msxml2.ServerXMLHTTP.3.0") objXmlHttp.open "POST", "http://검색서버주소/solr/코어이름/select?q=상품코드:"&상품코드&"&indent=true", false
objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objXmlHttp.send strResponseText = objXmlHttp.responseText Set objXmlHttp = Nothing
Dim xml: Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0") xml.LoadXml(strResponseText)
Dim sResult: sResult = ""
Dim node For Each node in xml.selectSingleNode("/response/result/doc").childNodes 'sResult = sResult & node.xml' Response.Write(node.getattribute("name")) Response.Write("::") Response.Write(node.text) Response.Write(Chr(10)&Chr(13)) Next


Response.End()

여기까지 소스.

간단한 설명..

통신하는거야.. 뭐 보통 알고 있는 Msxml2.ServerXMLHTTP.3.0 사용함

의외로 검색서버가 UTF-8로 동작해서 당근

Session.CodePage = 65001로 했으나 의외로 깨짐..

그래서 949로 변경했더니 잘 됨.

문제는 parsing인데.. 처음에 구한 소스는 XMLDOM으로 하게 했음..

근데.. 안됨.. 아마 서버에 일반적으로 설치되는 컴포넌트가 아닌거 같다는 생각이 듬..

그래서 변경..

MSXML2.DOMDocument.3.0 일단 이게 잘 됨..

API 사이트는

https://msdn.microsoft.com/en-us/library/ms764730(VS.85).aspx

보통 여러 method 안쓸테니.. 그냥.. 속성 값과 node의 값 읽어오는 예제로

훈훈한 마무리..

끗~!

댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...