2013-03-19 3 views
1

각 행에 4 개의 필드가있는 약 40k 행의 데이터 세트가 있습니다. 이제 텍스트 상자에있는이 4 개의 필드에 대한 자동 완성 메커니즘을 사용하고 싶습니다. 제안을 표시하기 전에이 4 개의 필드의 값을 하나의 문자열로 연결해야합니다. 어떤 종류의 쿼리를 확장하고 더 잘 수행 할 수 있습니까? 간단한 텍스트 색인에서 EdgeNGrams 또는 와일드 카드 검색을 자동 완성합니다.solr에서 어떤 종류의 검색이 더 나은지 (성능면에서)? EdgeNGram 또는 와일드 카드 검색으로 자동 완성 하시겠습니까?

답변

5

는 지금은 텍스트 상자에이 4 개 개의 필드 자동 완성 메커니즘을 사용할
- 사용 copyfield은 하나의 필드에 모두 네 개의 필드를 덤프하고 이들의 값을 연결하는 자동 제안

에 대한

을 그 필드가 사용 제안을 표시하기 전에 4 개의 필드를 하나의 문자열로 변환
- 값을 저장 한 상태로 유지하면 클라이언트 측에서 연결을 수행 할 수 있습니다.

간단한 텍스트 색인에서 EdgeNGram 또는 와일드 카드 검색을 자동 완성합니다.
- EdgeNGrams는 대부분 인덱스 시간이며 인덱싱 시간 및 인덱스 크기가 증가하면 더 빠른 검색 결과를 제공합니다.
- 와일드 카드 쿼리는 속도가 느리지 만 인덱스가 너무 작 으면 성능에 많은 영향을 미치지 않을 수 있습니다. 주 - 와일드 카드 쿼리에 대해서는 Anaylsis가 수행되지 않습니다.
- 자동 제안의 경우 Solr terms으로 간주됩니다. Solr 용어로 원래 필드를 되 찾을 수는 없지만 결과는 더 빠르지 만 빠를 것입니다.
- Solr suggester