2012-08-23 2 views
3

우리는 solr 문서 집합에 속한 그룹을 정의하는 패싯 필드를 추가합니다. 데이터는 mysql에서 나오고 solr 또는 패딩의 패싯 값에 정수 ID (mysql pk)를 넣을 수 있습니다. 패싯 값의 짧은 이름 (mysql varchar (32)).solr 패싯의 정수와 문자열 값 사이에 의미있는 성능 차이가 있습니까?

짧은 이름을 사용하면 pk를 찾기 위해 mysql을 방문하지 않고도 solr 쿼리로 곧바로 사용자 입력 (짧은 이름은 URL의 일부가 될 수 있음)에서 갈 수 있기 때문에 약간의 매력이 있습니다.

그러나 그 경로를 가기 전에 문자열 필드에서의 패싯이 성능 관점에서 정수 값에 대한 패싯과 크게 다른지 알고 싶습니다.

답변

2

Faceting에 텍스트 필드를 사용하지 마십시오. 원하는 행동을 얻지 못할 것입니다.

SolrFacetingOverview : -

패 시팅 필드는 종종 두 가지 목적을 제공하기 위해 지정되기 때문에, 사람이 읽을 수있는 텍스트 및 드릴 다운 쿼리 값, 그들은 자주 검색 및 정렬에 사용 필드에서 다른 인덱스 있습니다 :

그들은 종종
  • 그들은 종종 낮은 경우
  • 로 매핑되지 않은 별도의 단어로 토큰 화되지
    1. 사람이 읽을 수있는 구두점은 이중 따옴표를 제외하고 종종 제거되지 않습니다.
    2. 저장된 값은 인덱싱 된 값처럼 보일 것이고 faceting 메커니즘은 값 검색에 사용되기 때문에 종종 저장할 필요가 없습니다.

    문자열 필드를 사용하면 오버 헤드없이 충분할 것입니다.

    +0

    죄송합니다. 문자열이 아닌 문자열입니다. –

    관련 문제