Solr에서 "multiValued"필드 유형의 사용은 무엇입니까?
저는 Apache Solr를 처음 사용합니다. 설명서 부분 을 읽은 후에도 multiValued
필드 유형 속성 의 기능과 사용을 명확하게 이해하기가 어렵습니다 .
내부적으로 Solr이 multiValued 로 표시된 필드를 수행 / 처리 / 처리하는 것은 무엇입니까 ?
다중 값을 갖는 필드 와 그렇지 않은 필드 간의 Solr 인덱싱의 차이점은 무엇입니까 ?
누군가 좋은 예를 들어 설명 할 수 있습니까?
Doc 말한다 :
multiValued = true | false
이 필드가 문서 당 여러 값을 포함 할 수있는 경우 (예 : 문서에 여러 번 나타날 수있는 경우) 참
다중 값 필드는 필드에 둘 이상의 값이있는 경우 유용합니다. 쉬운 예는 태그입니다. 색인화해야하는 여러 태그가있을 수 있습니다. 따라서 태그 필드가 다중 값 인 경우 solr 응답은 문자열 값 대신 목록을 반환합니다. 한 가지 주목할 점은 다음과 같이 태그의 각 값에 대해 여러 줄을 제출해야한다는 것입니다.
<field name = "tags"> 태그 1 </ tags> <field name = "tags"> 태그 2 </ tags> ... <field name = "tags"> 태그 </ tags>
모든 값 인덱스가 있으면 값을 기준으로 검색하거나 결과를 필터링 할 수 있습니다. 다음과 같은 쿼리를 사용하여 tag1이있는 모든 문서를 찾을 수 있습니다
q=tags:tag1
또는 태그를 사용하여 다음과 같은 결과를 필터링합니다.
q=query&fq=tags:tag1
필드가 둘 이상의 값을 가질 수 있는지 여부를 스키마에 정의 된 multiValued.
예를 들어 다음
과 같은 문서를 색인하는 multiValued = false 인 fieldType이라는 ID가있는 경우 :
doc {
id : [ 1, 2]
...
}
인덱싱 스레드에서 예외가 발생하고 문서가 인덱싱되지 않습니다 (스키마 유효성 검사가 실패 함).
반면에 필드에 여러 값이있는 경우 인덱싱이 올바르게 수행되도록 보장하기 위해 multiValued = true를 설정하고 싶습니다. 예를 들면 다음과 같습니다.
doc {
id : 1
keywords: [ hello, world ]
...
}
이 경우 "키워드"를 다중 값 필드로 정의합니다.
복사 필드에만 여러 값 필드를 사용하므로 복사 필드가 아닌 경우 모든 필드가 단일 값이라고 가정합니다. 예를 들어 다음 필드가 있습니다.
<field name="id" type="string" indexed="true" stored="true"/>
<field name="name" type="string" indexed="true" stored="true"/>
<field name="subject" type="string" indexed="true" stored="true"/>
<field name="location" type="string" indexed="true" stored="true"/>
한 필드 만 쿼리하고 위의 4 개 필드를 모두 검색하려면 copyfield를 사용해야합니다. 먼저 'all'이라는 새 필드를 만든 다음 모든 것을 'all'에 복사합니다.
<field name="all" type="text" indexed="true" stored="true" multiValued="true"/>
<copyField source="*" dest="all"/>
이제 'all'필드는 다중 값이어야합니다.
참고 URL : https://stackoverflow.com/questions/5800762/what-is-the-use-of-multivalued-field-type-in-solr
'development' 카테고리의 다른 글
파이썬이 시퀀스에 대해 범위를 벗어난 슬라이스 인덱스를 허용하는 이유는 무엇입니까? (0) | 2020.10.27 |
---|---|
테이블을 데이터로 채우기 전이나 데이터가 제자리에있는 후에 인덱스를 만드는 것이 더 낫습니까? (0) | 2020.10.27 |
구체적인 클래스에서 상속하는 좋은 예가 있습니까? (0) | 2020.10.27 |
snprintf ()는 항상 null로 종료됩니까? (0) | 2020.10.27 |
pip는 패키지를 성공적으로 설치하지만 명령 줄에서 찾을 수없는 실행 파일 (0) | 2020.10.27 |