Solr 인덱스 대 저장
Solr 필드의 인덱스 및 저장된 속성이 무엇인지에 대해 약간 혼란스러워합니다.
예를 들어 Schema.xml에 다음이있는 경우
<field name="test1" type="text" indexed="false"
stored="false" required="false" />
해당 필드가 있는 문서를 만들고 해당 필드에 값을 설정하고 문서를 Solr에 커밋하더라도 test1 필드 가 Solr 문서에 저장되지 않습니다. 내가 가지고있는 stored=false
속성을,이 필드의 값이 SOLR 손실 및 지속되지 않는다는 것을 의미합니까?
맞아요. 일반적으로 필드를 색인화하거나 저장하거나 둘 다를 원할 것입니다. 둘 다 false로 설정하면 해당 필드는 Solr 문서 (검색 또는 표시 용)에서 사용할 수 없습니다. 둘 다 false로 설정하려는 특별한 경우에 대해서는 Alexandre의 답변을 참조하십시오.
여기에 설명 된대로 : indexed=true
필드를 검색 가능하고 정렬 가능하고 패싯 가능하게 만듭니다. 라는 이름의 필드가있는 경우 예를 들어, test1
과를 indexed=true
, 당신은 그것을 원하는 검색 할 q=test1:foo
경우, foo
당신이 찾고있는 값입니다. 경우 indexed=false
필드에 대해 test1
다음 쿼리는 당신이 SOLR에서 문서 경우에도 결과가 반환 없다는 것을 test1
의 가치 존재를 foo
.
stored=true
검색 할 때 필드를 검색 할 수 있음을 의미합니다. 쿼리에서 필드 값을 명시 적으로 검색하려면 fl
다음과 같이 쿼리 에서 매개 변수를 사용합니다 fl=test1
(기본값은 fl=*
저장된 모든 필드 검색을 의미 함). 경우에만 stored=true
에 대한 test1
값이 반환됩니다. 그렇지 않으면 반환되지 않습니다.
둘 다 false로 설정하는 요점은 특정 필드를 명시 적으로 건너 뛰는 것입니다.
예를 들어, 저장 / 인덱싱 dynamicField 매핑이 있고 그렇지 않으면 dynamicField의 패턴에 해당하는 하나의 특정 이름을 무시하려는 경우.
또는 dynamicField를 사용하여 타사에서 제공하는 동일한 접두사 / 접미사가있는 전체 필드 집합을 무시할 수 있습니다. 예를 들어 Tika는 무시하고 싶을 수있는 메타 데이터 필드 전체를 보냅니다. Solr의 예제 schema.xml에 정의되어 있고 solrconfig.xml 에서 사용됨을 참조하십시오.
이후 버전의 Solr에서는 IgnoreFieldUpdateProcessorFactory ( 다른 사용자 는 전체 목록 참조 )를 대신 사용할 수도 있습니다. 이렇게 하면 인덱싱 프로세스 초기에 해당 필드가 제거됩니다.
"indexed"및 "stored"는 독립적 인 직교 속성입니다. true와 false의 네 가지 조합 중 하나를 사용할 수 있습니다. "인덱싱 됨"은 검색 또는 쿼리에 사용되며 쿼리 요청 처리의 "조회"부분입니다. 검색 / 조회 / 조회가 완료되고 문서 세트가 선택되면 "저장"은 값을 표시하거나 Solr 응답과 함께 리턴 할 수있는 필드 세트입니다.
분리 이유의 일부는 Solr / Lucene이 입력 데이터를 "분석"하거나 더 효율적인 형식으로 변환하여 더 빠르고 관련성 높은 검색 / 조회를하기 때문입니다. 안타깝게도 분석 / 변환 된 데이터는 더 이상 디스플레이 및 인간 소비에 적합하지 않은 경우가 많습니다. 즉, 분석 / 변환은 양방향 / 가역이 아닙니다. "stored = true"로 설정하면 원래 데이터를 원래 형식으로 검색 할 수 있습니다.
둘 다 거짓이면 해당 필드의 데이터가 손실됩니다. 인덱싱 된 true 인 경우 데이터를 검색 할 수 있지만 표시 할 수 없습니다. stored를 true로 설정하면 해당 필드에서 검색 할 수 없지만 표시 할 수 있습니다 (이 경우 해당 필드의 정보를 기본 검색 가능 필드로 복사하는 copyfield 규칙을 작성할 수 있음). 둘 다 true로 설정-> 검색 및 표시 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/22287584/solr-index-vs-stored
'Development Tip' 카테고리의 다른 글
Grunt를 사용하는 노드 앱을 Heroku에 배포하는 방법 (0) | 2020.12.10 |
---|---|
CSS 전역 변수 만들기 : 스타일 시트 테마 관리 (0) | 2020.12.10 |
Android Studio 렌더링 문제 : 다음 클래스를 찾을 수 없습니다. (0) | 2020.12.10 |
App Store에 업로드 할 때 Xcode 오류 : "적합한 응용 프로그램 레코드를 찾을 수 없습니다." (0) | 2020.12.10 |
Excel 열 문자를 숫자로 변환하는 알고리즘은 무엇입니까? (0) | 2020.12.10 |