2014-11-05 5 views
13

Solr 4+에서 작업 중입니다.Solr 텍스트 필드 및 문자열 필드 - 다른 검색 동작

필자는 다른 solr 필드 유형을 가진 내 solr 스키마에 여러 필드가 있습니다.

텍스트 필드와 문자열 필드의 검색이 다른가요?

예상대로 작동하지 않는 문자열 필드 (소수 패싯 필드의 복사 필드)에서 검색하려고하기 때문에. 대상 문자열 필드는 색인화되어 저장됩니다.

그러나 텍스트 필드 (인덱싱 된) 만 대상 필드를 변경하면 올바르게 작동합니다.

왜 이런 일이 발생하는지 제안 해 주실 수 있습니까? 검색과 관련하여 텍스트 필드와 문자열 필드의 차이는 무엇입니까?

답변

22

에는 대개 토큰 화기와 텍스트 분석이 첨부되어 있습니다. 즉, 색인 된 내용이 정확히 일치 할 필요가없는 별도의 토큰으로 나뉘어집니다. 즉, 각 단어/토큰이 개별적으로 일치하여 전체 문서가 있어야할지 응답에 포함됩니다.

StrFields에는 토큰 화 또는 분석/필터가 적용될 수 없으며 정확히 일치하는 결과 만 제공됩니다. 분석이나 필터가 적용된 StrField가 필요한 경우 TextFieldKeywordTokenizer을 사용하여 구현할 수 있습니다.

0

합리적인 일반 언어 간 기본값이있는 일반 텍스트 필드 : StandardTokenizer로 토큰 화하고 대/소문자를 구분하지 않는 "stopwords.txt"(기본값은 비어 있음) 및 아래쪽 사례에서 중지 단어를 제거합니다. 질의시에만 동의어도 적용됩니다.

StrField 유형은 분석되지 않지만 색인 생성/저장됩니다.