중화사전망 - 자전 검색 - ES 인덱스 분석 (역방향 인덱스 | 정방향 인덱스)
ES 인덱스 분석 (역방향 인덱스 | 정방향 인덱스)
키워드를 얻는 방법에는 1 의 두 가지가 있습니다. 공백 구분에 따라 모든 문자를 가져옵니다. 2. 문서의 무의미한 단어를 필터링하여 키워드를 얻습니다. 또한 단어의 시제, 대/소문자, 동의어 및 구두점이 그에 따라 처리되며, 각 분사기는 문서를 색인화할 때 서로 다른 작업을 수행합니다.
예 1: 톰은 장계에 살고, 나도 장계에 산다.
키워드: 1: [톰] [라이브] [라이브] [장계] [나] [라이브] [장계]
예 2: 그는 상해에 살았었다
키워드 2: [그] [라이브] [상하이]
키워드에 따르면 키워드가 있는 문장 번호, 문장 내 키워드가 나타나는 빈도, 문장 내 키워드가 나타나는 위치 등을 확인할 수 있습니다. (위에서 얻은 키워드에 따라 인덱싱할 때 모든 문자나 키워드를 인덱싱할 수 있습니다. Lucene 은 키워드를 인덱싱하는 방식을 사용하므로 많은 공간을 절약할 수 있습니다.) 구체적인 지표는 다음과 같습니다.
1) 사전 파일: 각 키워드, 빈도 및 위치 파일에 대한 포인터, 아카이브 (정보 위치를 나타내는 데 사용됨, 각 키워드마다 하나 이상의 필드가 있음) 정보.
2) 빈도 파일: 각 파일에서 키워드가 나타나는 빈도의 파일입니다.
3) 위치 파일: 키워드가 있는 문장 내의 위치 파일입니다.
키워드는 다음과 같이 압축됩니다. 예를 들어 "사랑해 중국" = "또한 숫자 압축은 이전 숫자와의 차이만 기록합니다. 예를 들어 현재 문장 번호는 1 1890 이고 이전 문장 번호는1입니다 압축 후 20 의 오차만 있으면 스토리지 공간이 크게 줄어듭니다.
Es 쿼리 작업은 역방향 인덱스를 사용하며, 데이터 집계 및 정렬에는 양의 인덱스가 필요합니다. 여기서 우리는 직교 색인을 도입한다.
직교 색인은 문서에 있는 각 필드의 값을 정렬하는 것을 의미하며 실제로 문서 값입니다. 예를 들면 다음과 같습니다.
예:
Doc 1: {"이름": "장삼", "나이": 27, "성별": "남자"}
문서 2: {"이름": "이사", "나이": 30, "성별": "여자"}
직교 색인:
파일 이름 연령 성별
Doc 1 잭 27km
의사 2 톰 30 세 여성
직교 색인 사용 장면에는 정렬, 합산, 필터링 등이 있습니다.
참고:
세그먼트 필드를 합산하려면 fielddata 를 true 로 설정해야 합니다. 그렇지 않으면 fielddata 를 열고 직교 인덱스를 메모리로 로드하라는 메시지가 표시되지만 오류가 발생합니다.
Doc 값은 디스크에 저장됩니다. 이 시점에서 메모리가 충분하면 OS 가 자동으로 메모리에 캐시하므로 성능이 여전히 높습니다. 메모리가 부족하면 운영 체제에서 이를 디스크에 씁니다.
역방향 및 정방향 인덱스에 대한 소개는 이것으로 끝납니다. 도움이 된다면 주목해 주세요! 감사합니다
- 관련 기사
- 추아생은 무슨 글자입니까?
- 파이썬은 for 를 사용하여 한 번에 한 개 이상의 값을 출력합니다.
- 새로 편찬된' 전의전' 과 의학 문헌 왕은 항쟁으로 그들을 죽였고, 그들은 모두 바이러스에 감염되었다.
- 병자 옆에 있는 글자는 무엇입니까?
- 대만성의 병음은 일본어와 관계가 있습니까?
- "울음" 에 대한 고대 또는 고전적인 설명
- "오" 라는 단어는 o 또는 ou 를 읽습니까? 병음으로 치면 O 안에' 오' 라는 단어가 들어있기 때문에 이 글자는 wo 를 읽습니다!
- 문어문에서는 무슨 뜻입니까?
- 중국의 번체자는 어떤 것이 있습니까?
- 파이썬 사전 순서 유지 방법 (코드)