Development Tip

Solr 인덱스 대 저장

yourdevel 2020. 12. 10. 21:24
반응형

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 ( 다른 사용자 전체 목록 참조 )를 대신 사용할 수도 있습니다. 이렇게 하면 인덱싱 프로세스 초기에 해당 필드가 제거됩니다.


Solr의 메일 스레드 에서이 응답을 인용 하면 :

"indexed"및 "stored"는 독립적 인 직교 속성입니다. true와 false의 네 가지 조합 중 하나를 사용할 수 있습니다. "인덱싱 됨"은 검색 또는 쿼리에 사용되며 쿼리 요청 처리의 "조회"부분입니다. 검색 / 조회 / 조회가 완료되고 문서 세트가 선택되면 "저장"은 값을 표시하거나 Solr 응답과 함께 리턴 할 수있는 필드 세트입니다.

분리 이유의 일부는 Solr / Lucene이 입력 데이터를 "분석"하거나 더 효율적인 형식으로 변환하여 더 빠르고 관련성 높은 검색 / 조회를하기 때문입니다. 안타깝게도 분석 / 변환 된 데이터는 더 이상 디스플레이 및 인간 소비에 적합하지 않은 경우가 많습니다. 즉, 분석 / 변환은 양방향 / 가역이 아닙니다. "stored = true"로 설정하면 원래 데이터를 원래 형식으로 검색 할 수 있습니다.


둘 다 거짓이면 해당 필드의 데이터가 손실됩니다. 인덱싱 된 true 인 경우 데이터를 검색 할 수 있지만 표시 할 수 없습니다. stored를 true로 설정하면 해당 필드에서 검색 할 수 없지만 표시 할 수 있습니다 (이 경우 해당 필드의 정보를 기본 검색 가능 필드로 복사하는 copyfield 규칙을 작성할 수 있음). 둘 다 true로 설정-> 검색 및 표시 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/22287584/solr-index-vs-stored

반응형