참고: 64비트 추가 매개변수 --enable- ID64
配置: # # 스핑크스 구성 파일 샘플 # # 경고! 이 샘플 파일에는 사용 가능한 모든 옵션이 언급되어 있지만 # (매우) 짧은 도우미 설명만 포함되어 있습니다. 참고하세요 # 자세한 내용은 doc/sphinx.html을 참조하세요. # ####################################### ## 데이터 소스 정의 ####################################### 소스 src1 { # 데이터 소스 유형. 필수, 기본값 없음 # 알려진 유형은 mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc입니다. 유형 = mysql ########################################### ### ## SQL 설정('mysql' 및 'pgsql' 유형용) ############################################# # SQL 소스 유형에 대한 몇 가지 간단한 매개변수 sql_host=로컬호스트 sql_user = 루트 sql_pass = ****** sql_db = ****** sql_port = 3306 # 선택사항, 기본값은 3306 # UNIX 소켓 이름 # 선택사항, 기본값은 비어 있습니다(클라이언트 라이브러리 기본값 재사용) # 일반적으로 Linux에서는 '/var/lib/mysql/mysql.sock' # 일반적으로 FreeBSD에서는 '/tmp/mysql.sock' # sql_sock = /tmp/mysql.sock # MySQL 특정 클라이언트 연결 플래그 # 선택사항, 기본값은 0 #数据传输方式 # mysql_connect_flags = 32 # 압축 활성화 # MySQL 전용 SSL 인증서 설정 # 선택 사항, 기본값은 비어 있습니다. # SLL链接 # mysql_ssl_cert = /etc/ssl/client-cert.pem # mysql_ssl_key = /etc/ssl/client-key.pem # mysql_ssl_ca = /etc/ssl/cacert.pem # MS SQL 특정 Windows 인증 모드 플래그 # charset_type 인덱스 수준 설정과 동기화되어야 합니다. # 선택사항, 기본값은 0 # # mssql_winauth = 1 # 현재 로그온한 사용자 자격 증명 사용 # MS SQL 특정 유니코드 인덱싱 플래그 # 선택사항, 기본값은 0(SBCS 데이터 요청) # # mssql_unicode = 1 # 서버에서 유니코드 데이터 요청 # ODBC 특정 DSN(데이터 소스 이름) # odbc 소스 유형에는 필수이며 기본값은 없습니다. # # odbc_dsn = DBQ=C:data;DefaultDir=C:data;Driver={Microsoft 텍스트 드라이버(*.txt; *.csv)}; # sql_query = ID 선택, document.csv에서 데이터 # ODBC 및 MS SQL 특정 열별 버퍼 크기 # 선택사항, 기본값은 자동 감지입니다. # # sql_column_buffers = 내용=12M, 댓글=1M # 기본 가져오기 쿼리 전에 실행되는 사전 쿼리 # 다중 값, 선택 사항, 기본값은 빈 쿼리 목록입니다. # 发送SQL语句前发送 sql_query_pre = 이름 설정 utf8 sql_query_pre = 세션 설정 query_cache_type=OFF # 기본 문서 가져오기 쿼리 # 필수, 정수 문서 ID 필드는 반드시 첫 번째로 선택된 열이어야 합니다. # 需要查询的表 构建查询 sql_query = SELECT ID,대상_유형,장르,별,하위_제목,스포츠_팀,음악_밴드,음악_앨범 ko_link에서 #如果多个数据源并要in一个索引,必须要保持字段的顺序数weight跟数据数致,否则将并致,否则将俙 # 조인/페이로드 필드 가져오기 쿼리 # 조인된 필드를 사용하면 (느린) JOIN 및 GROUP_CONCAT을 피할 수 있습니다. # 페이로드 필드를 사용하면 키워드별 맞춤 값을 연결할 수 있습니다(예: 순위 지정). # # 구문은 FIELD-NAME 'from' ( 'query' | 'payload-query' )입니다. 질문 # 결합된 필드 QUERY는 2개의 열(docid, text)을 반환해야 합니다. # 페이로드 필드 QUERY는 3개의 열(docid, 키워드, 가중치)을 반환해야 합니다. # # 쿼리 결과는 문서 ID 오름차순이어야 합니다! # 다중 값, 선택 사항, 기본값은 빈 쿼리 목록입니다. # 添加字段,来源与表 自动连接 # 字段结果集保持为 # (1,태그1) # (1,태그2) # (2,태그3) # (2,태그4) # 添加字段将用于搜索,结果如有第3个字段,第3个字段表示该记录的权重,权表大于1 的值 # sql_joined_field = 쿼리의 태그; SELECT docid, CONCAT('tag',tagid) FROM 태그 ORDER BY docid ASC # sql_joined_field = 페이로드 쿼리의 wtags; SELECT docid, tag, tagweight FROM 태그 ORDER BY docid ASC # 파일 기반 필드 선언 # # 이 필드의 내용은 파일 이름으로 처리됩니다. # 파일이 필드 대신 로드되고 색인화됩니다. # # 최대 파일 크기는 max_file_field_buffer 인덱서 설정에 의해 제한됩니다. # 파일 IO 오류는 치명적이지 않으며 경고로 보고됩니다. # 把字段声明放入文件 # sql_file_field = 콘텐츠_파일_경로 # 범위 쿼리 설정, 최소 및 최대 ID 값을 반환해야 하는 쿼리 # 선택 사항, 기본값은 비어 있습니다. # # sql_query는 $start 및 $end 경계를 참조해야 합니다. # 범위 쿼리를 사용하는 경우: # 分区查询,防止MYSQL死锁 # sql_query = # SELECT doc.id, doc.id AS 그룹, doc.title, doc.data # 문서에서 doc # WHERE id>=$start AND id # 범위 쿼리 단계 # 선택사항, 기본값은 1024 # 分区查询跳步 # sql_range_step = 1000 # 부호 없는 정수 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 선택적 비트 크기를 지정할 수 있으며 기본값은 32입니다. # 声明无符号数字段 #sql_attr_uint = 대상_유형 # sql_attr_uint = forum_id:9 # forum_id에 대한 9비트 #sql_attr_uint = 그룹_ID #声明BOOL문자段 # 부울 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 1비트 크기의 sql_attr_uint와 동일 # # sql_attr_bool = is_deleted # bigint 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 서명된(단위와는 다릅니다!) 64비트 속성을 선언합니다. # 声明长整字段 # sql_attr_bigint = my_bigint_id # UNIX 타임스탬프 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 정수와 유사하지만 날짜 함수에도 사용할 수 있습니다. # 声明时间字段 # sql_attr_timestamp = 게시_ts # sql_attr_timestamp = last_edited_ts #sql_attr_timestamp = 날짜_추가됨 # 문자열 순서 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 문자열을 바이트 단위로 정렬하고 해당 인덱스를 정렬된 목록에 저장합니다. # 이 속성을 기준으로 정렬하는 것은 원래 문자열을 기준으로 정렬하는 것과 동일합니다. # 声ming字符串字段 于排序等,但此字段不会被存储 # sql_attr_str2ordinal = 작성자_이름 # 부동 소수점 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 값은 단정밀도, 32비트 IEEE 754 형식으로 저장됩니다. # 声明浮点字段 # sql_attr_float = lat_radians # sql_attr_float = 긴 라디안 # 다중 값 속성(MVA) 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # MVA 값은 부호 없는 32비트 정수의 가변 길이 목록입니다. # # 구문은 ATTR-TYPE ATTR-NAME 'from' SOURCE-TYPE [;QUERY] [;RANGE-QUERY]입니다. # ATTR-TYPE은 'uint' 또는 'timestamp'입니다. # SOURCE-TYPE은 '필드', '쿼리' 또는 '범위 쿼리'입니다. # QUERY는 모든(docid, attrvalue) 쌍을 가져오는 데 사용되는 SQL 쿼리입니다. # RANGE-QUERY는 'sql_query_range'와 유사하게 최소 및 최대 ID 값을 가져오는 데 사용되는 SQL 쿼리입니다. # 声明复합자段 # sql_attr_multi = 쿼리의 uint 태그; SELECT docid, tagid FROM 태그 # sql_attr_multi = 범위 쿼리의 uint 태그; # docid, tagid FROM 태그 선택 WHERE id>=$start AND id # 문자열 속성 선언 # 다중 값(임의의 개수 허용), 선택 사항 # 문자열을 저장하고 검색할 수 있습니다. # 只是把数据存储,但不会索引改字段 # sql_attr_string = 제목 # wordcount 속성 선언 # 다중 값(임의의 개수 허용), 선택 사항 # 인덱싱할 때 단어 수를 계산할 수 있습니다. # 将转化成关键字字段, 于提高匹配率 # sql_attr_str2wordcount = 제목 # 결합된 필드와 속성 선언(단일 열에서) # 열을 속성으로 저장하지만 전체 텍스트 필드로 색인화합니다. # 跟sql_attr_string은 동일하지 않습니다. # sql_field_string = 작성자 # sql_field_str2wordcount = 제목 # 사후 쿼리, sql_query 완료 시 실행됨 # 선택 사항, 기본값은 비어 있습니다. #取后查询 # sql_query_post = # 색인 생성이 성공적으로 완료되면 실행되는 색인 후 쿼리 # 선택 사항, 기본값은 비어 있습니다. # $maxid는 실제로 DB에서 가져온 최대 문서 ID로 확장됩니다. #索引后查询 # sql_query_post_index = REPLACE INTO 카운터( id, val ) # VALUES ( 'max_indexed_id', $maxid ) # 범위 쿼리 제한(밀리초) # 선택 사항, 기본값은 지연이 없음을 의미하는 0입니다. # 각 쿼리 단계 전에 지정된 지연을 적용합니다. #分区查询의 时间间隔 sql_ranged_throttle = 0 # 문서 정보 쿼리, CLI 검색에만 해당(예: 테스트 및 디버깅) # 선택 사항, 기본값은 비어 있습니다. # $id 매크로를 포함해야 하며 해당 ID로 문서를 가져와야 합니다. #命令行调试查询结果용 sql_query_info = SELECT * FROM ko_link WHERE id=$id # kill-list 쿼리, kill-list에 대한 문서 ID를 가져옵니다. # k-list는 동일한 쿼리에서 이전 인덱스의 일치 항목을 억제합니다. # 선택 사항, 기본값은 비어 있습니다. ##清理指定查询ID列表,对于数据的更改 # sql_query_killlist = 편집된 문서에서 ID 선택>=@last_reindex # 인덱싱 시 인덱서 측에서 압축을 풀 열 # 다중 값, 선택 사항, 기본값은 빈 목록입니다. # ZIP 압축을 활성화하면 시스템 부하를 줄일 수 있지만 zlib 라이브러리 zlib-dev 라이브러리를 사용할 수 있어야 합니다. # unpack_zlib = zlib_column # unpack_mysqlcompress = 압축_열 # unpack_mysqlcompress = 압축_열_2 # MySQL COMPRESS() 압축 풀기에서 허용되는 압축 풀기 최대 길이 # 선택사항, 기본값은 16M # 압축 버퍼의 크기는 필드 저장 값보다 작을 수 없습니다 # unpack_mysqlcompress_maxsize = 16M ######################## ## xmlpipe2 구성 ######################## # 유형 = xmlpipe # xmlpipe 스트림 생산자를 호출하는 셸 명령 # 필수적인 # # xmlpipe_command = cat /usr/local/sphinx/var/test.xml # xmlpipe2 필드 선언 # 다중 값, 선택 사항, 기본값은 비어 있음 # # xmlpipe_field = 제목 # xmlpipe_field = 내용 # xmlpipe2 속성 선언 # 다중 값, 선택 사항, 기본값은 비어 있음 # 모든 xmlpipe_attr_XXX 옵션은 sql_attr_XXX와 완전히 유사합니다. # # xmlpipe_attr_timestamp = 게시됨 # xmlpipe_attr_uint = 작성자_ID # UTF-8 검증을 수행하고 잘못된 코드를 필터링합니다. # UTF-8이 아닌 문서에서 XML 파서의 질식을 방지합니다. # 선택사항, 기본값은 0 # # xmlpipe_fixup_utf8 = 1 } # 상속된 소스 예 #데이터 소스 상속 # 모든 매개변수는 상위 소스에서 복사됩니다. # 이 소스 정의에서 재정의될 수 있습니다. #source src1제한됨: src1 #{ # sql_ranged_throttle = 100 #} #################### ## 인덱스 정의 #################### # 로컬 인덱스 예시 # # 이것은 파일 시스템에 로컬로 저장되는 인덱스입니다 # # 모든 인덱싱 시간 옵션(예: 형태 및 문자 집합) #은 로컬 인덱스별로 구성됩니다. 인덱스 테스트1 { # 인덱스 유형 # 선택 사항, 기본값은 '일반'입니다. # 알려진 값은 'plain', 'distributed' 및 'rt'입니다(아래 샘플 참조). #인덱스형 로컬 분산 # 유형 = 일반 # 색인을 생성할 문서 소스 # 다중 값, 필수 # 문서 ID는 모든 소스에서 전역적으로 고유해야 합니다. #데이터 소스, 여러 데이터 소스를 사용할 수 있습니다 소스 = src1 # 인덱스 파일 경로 및 파일 이름(확장자 없음) # 필수, 경로는 쓰기 가능해야 하며 확장은 자동으로 추가됩니다. # 인덱스 저장 경로 경로 = /usr/local/sphinx/var/data/test1 # 문서 속성 값(docinfo) 저장 모드 # 선택 사항, 기본값은 'extern'입니다. # 알려진 값은 'none', 'extern' 및 'inline'입니다. #인덱스 저장 방법 docinfo = 외부 # 스왑을 방지하기 위해 캐시된 데이터(.spa 및 .spi)에 대한 메모리 잠금 # 선택 사항, 기본값은 0입니다(mlock하지 않음). # 루트에서 searchd를 실행해야 합니다. #메모리 잠금에는 충분한 권한이 필요합니다 mlock = 0 # 적용할 형태학 전처리기 목록 #선택 사항, 기본값은 비어 있습니다. # # 내장 전처리기는 'none', 'stem_en', 'stem_ru', 'stem_enru'입니다. # 'soundex' 및 'metaphone'에서 추가 전처리기를 사용할 수 있습니다. # libstemmer는 'libstemmer_XXX'입니다. 여기서 XXX는 알고리즘 코드입니다. # (libstemmer_c/libstemmer/modules.txt 참조) #단어 추출기 # 형태 = 줄기_en, 줄기_루, soundex # 형태 = libstemmer_german # 형태 = libstemmer_sv 형태 = 줄기_en # 형태소 분석을 활성화하는 최소 단어 길이 # 선택사항, 기본값은 1(모든 항목의 줄기) # 형태소 분석을 위한 최소 단어 길이 # min_stemming_len = 1 # 불용어 파일 목록(공백으로 구분) #선택 사항, 기본값은 비어 있습니다. # 내용은 일반 텍스트이고 charset_table과 형태소 분석이 모두 적용됩니다. # 검색어 비활성화 # 불용어 = /usr/local/sphinx/var/data/stopwords.txt # "mapfrom > mapto" 일반 텍스트 형식의 wordforms 파일 #선택 사항, 기본값은 비어 있습니다. #spelldump 도구를 사용하여 단어 유형 사전을 생성할 수 있습니다. # wordforms = /usr/local/sphinx/var/data/wordforms.txt # 토큰화 예외 파일 #선택 사항, 기본값은 비어 있습니다. #Token 특수 사례 파일, 즉 일부 단어는 완전한 의미를 가지며 a&t 및 a&t와 같이 색인으로 분할할 수 없습니다. # 일반 텍스트, 대소문자 구분, 지도 부분에서 공백 구분 없음 # 한 줄에 하나의 "여러 단어 매핑 => ToASingleOne" 항목 # # 예외 = /usr/local/sphinx/var/data/Exceptions.txt # 최소 색인 단어 길이 # 기본값은 1(모든 항목 색인) # 최소 인덱스 길이, 즉 지정된 길이보다 작은 단어는 인덱스되지 않습니다. min_word_len = 1 # 문자셋 인코딩 유형 # 선택 사항, 기본값은 'sbcs'입니다. # 알려진 유형은 'sbcs'(Single Byte CharSet) 및 'utf-8'입니다. #문자 인코딩 charset_type = utf-8 # 문자셋 정의 및 대소문자 구분 규칙 "테이블" # 선택사항, 기본값은 charset_type에 따라 다릅니다. # # 기본값은 영어와 러시아어 문자만 포함하도록 구성됩니다. # 추가 항목을 포함하려면 테이블을 변경해야 합니다. # 이 동작은 향후 버전에서 변경될 수 있습니다 # # 'sbcs' 기본값은 # charset_table = 0..9, A..Z->a..z, _, a..z, U A8->U B8, U B8, U C0..U DF->U E0..U FF ,U E0..U FF #문자표 변환 # 'utf-8' 기본값은 # charset_table = 0..9, A..Z->a..z, _, a..z, U 410..U 42F->U 430..U 44F, U 430..U 44F # 무시된 문자 목록 # 선택 사항, 기본값은 비어 있습니다. # 문자표를 무시한다 #ignore_chars = U 00AD # 색인에 대한 최소 단어 접두사 길이 # 선택 사항, 기본값은 0입니다(접두사를 색인화하지 않음). #인덱스의 최소 접두사 길이이므로 주의해서 사용하세요. 인덱싱 및 검색 시간이 저하됩니다. # min_prefix_len = 0 # 인덱스에 대한 최소 단어 삽입 길이 # 선택 사항, 기본값은 0입니다(중위어를 색인화하지 않음) #인덱스의 최소 삽입 길이는 주의해서 사용하세요. 인덱싱 및 검색 시간이 저하됩니다. # min_infix_len = 0 # 접두사/중위 색인 생성을 제한할 필드 목록 # 선택사항, 기본값은 비어 있습니다(접두사/중위 모드의 모든 필드 색인화). # 알려지지 않은 # prefix_fields = 파일 이름 # infix_fields = URL, 도메인 # 접두사/중위 색인을 검색할 때 별 구문(와일드카드)을 활성화합니다. # 검색 시간만, 인덱싱에 영향을 주지 않으며 0 또는 1일 수 있습니다. # 선택사항, 기본값은 0(와일드카드 구문을 사용하지 않음) # 별표 구문 활성화 # 활성화_스타 = 1 # 적합 지수를 검색할 때 정확한 형식 및/또는 별표로 키워드를 확장합니다. # 검색 시간만, 인덱싱에 영향을 주지 않으며 0 또는 1일 수 있습니다. # 선택사항, 기본값은 0(키워드를 확장하지 않음) # 검색 키워드를 다음 형식으로 확장합니다: running -> ( running | *running* | =running ) # Expand_keywords = 1 # CJK 인덱싱을 위한 인덱싱할 n-그램 길이 # 현재는 0과 1만 지원하며, 다른 길이도 구현될 예정입니다. # 선택 사항, 기본값은 0(n-gram 비활성화) # 중국어 및 기타 언어 기본 지원 # ngram_len = 1 # CJK 인덱싱을 위한 n-gram 문자 목록 #선택 사항, 기본값은 비어 있습니다. #중국어 또는 기타 언어의 값 범위 # ngram_chars = U 3000..U 2FA1F # 구문 경계 문자 목록 #선택 사항, 기본값은 비어 있습니다. # 경계 문자 #phrase_boundary = ., ?, !, U 2026 # 가로줄임표 # 구문 경계 단어 위치 증분 # 선택사항, 기본값은 0 # 경계 문자 증가 #phrase_boundary_step = 100 # 혼합 문자 목록 # 혼합된 문자는 구분 기호와 유효한 문자 모두로 색인화됩니다. # 예를 들어 AT&T는 3개의 토큰("at", "t" 및 "at&t")을 생성합니다. #선택 사항, 기본값은 비어 있습니다. # 혼합 문자 목록 # blend_chars = , &, U 23 # 혼합 토큰 인덱싱 모드 # 혼합 토큰 색인 변형의 쉼표로 구분된 목록 # 알려진 변형은 Trim_none, Trim_head, Trim_tail, Trim_both, Skip_pure입니다 # 선택 사항, 기본값은 Trim_none입니다. #알려지지 않은 # blend_mode = Trim_tail, Skip_pure # 들어오는 문서에서 HTML 태그를 제거할지 여부 # 알려진 값은 0(제거하지 않음)과 1(제거함)입니다. # 선택사항, 기본값은 0 # html 태그를 삭제합니다. (텍스트가 삭제되니 주의하세요.) html_strip = 0 # HTML을 제거하는 경우 색인화할 HTML 속성 # 선택 사항, 기본값은 비어 있습니다(아무 것도 색인화하지 않음) # 예약된 HTML 태그 # html_index_attrs = img=alt,title; a=제목; # 제거할 HTML 요소 내용 # 선택 사항, 기본값은 비어 있습니다(요소 내용을 제거하지 않음) # 라벨이 삭제될 뿐만 아니라 라벨에 포함된 텍스트도 삭제됩니다. # html_remove_elements = 스타일, 스크립트 # 시작 시 인덱스 데이터 파일을 미리 열지 여부 # 선택 사항, 기본값은 0(미리 열지 않음), 검색 전용 # 미리 인덱스를 열어두거나, 쿼리할 때마다 인덱스를 열어둡니다 # 미리 열림 = 1 # 사전(.spi)을 디스크에 보관할지 아니면 RAM에 캐시할지 여부 # 선택 사항, 기본값은 0(RAM의 캐시), 검색 전용 #사전 파일이 메모리에 저장되어 있는지 여부 # ondisk_dict = 1 # 내부 반전 활성화 여부(2배 적은 디스크, 90-95% 속도) # 선택 사항, 기본값은 0(별도의 임시 파일 사용), 인덱서 전용 # 내부 인덱스 반전 활성화 여부는 디스크 사용량을 줄이고 약간의 성능 저하를 초래합니다. # inplace_enable = 1 # 내부 미세 조정 옵션 # 선택사항, 기본값은 아래에 나열되어 있습니다. #미세 조정 반전 # inplace_hit_gap = 0 # 미리 할당된 히트리스트 간격 크기 # inplace_docinfo_gap = 0 # 미리 할당된 docinfo 간격 크기 # inplace_reloc_factor = 0.1 # 경기장 내 재배치 버퍼 크기 # inplace_write_factor = 0.1 # 경기장 내 쓰기 버퍼 크기 # 파생 버전과 함께 원래 키워드를 색인화할지 여부 # "=exactform" 연산자가 작동하도록 합니다. # 선택사항, 기본값은 0 # 원래 키워드의 형태소/재매핑된 형태를 색인화하는 동시에 원래 단어도 색인화할지 여부 # index_exact_words = 1 # 지나치게 짧은(min_word_len보다 작은) 단어에 대한 위치 증가 # 선택사항, 허용되는 값은 0과 1, 기본값은 1 #너무 짧은 단어(min_word_len보다 짧은 단어)를 전달한 후 위치 값을 증가시킵니다. # overshort_step = 1 # 불용어 위치 증가 # 선택사항, 허용되는 값은 0과 1, 기본값은 1 #불용어 뒤에 위치값 옵션 옵션 추가 # stopword_step = 1 # 히트 없는 단어 목록 이 키워드의 # 위치는 색인에 저장되지 않습니다. # 선택사항, 허용되는 값은 'all' 또는 목록 파일 이름입니다. # 방해할 수 없는 캐릭터 목록 # hitless_words = 모두 # hitless_words = hitless.txt #캐릭터파일 # 문장과 단락 경계를 감지하고 색인을 생성합니다. # SENTENCE 및 PARAGRAPH 연산자가 작동하는 데 필요합니다. # 선택사항, 허용되는 값은 0과 1, 기본값은 0 # HTML에 대한 태그 병합을 확인할지 여부 # index_sp = 1 # HTML/XML 태그로 구분된 인덱스 영역 # 쉼표로 구분된 태그와 와일드카드 목록 # ZONE 운영자가 작동하려면 필요합니다. # 선택사항, 기본값은 빈 문자열입니다(영역을 색인화하지 않음) # HTML 태그의 무게 # index_zones = 제목, h*, 일 } # 상속된 인덱스 예 #인덱스 상속 # 모든 매개변수는 상위 인덱스에서 복사됩니다. # 이 인덱스 정의에서 재정의될 수 있습니다. #index test1stemmed : 테스트1 #{ # 경로 = /usr/local/sphinx/var/data/test1stemmed # 형태 = 줄기_en #} # 분산 인덱스 예시 # # 직접 인덱싱할 수 없는 가상 인덱스이며, # 다른 로컬 및/또는 원격 인덱스에 대한 참조만 포함합니다. #인덱스 dist1 #{ #분산 인덱스 구성 # '분산' 인덱스 유형을 지정해야 합니다. # 유형 = 분산 # 검색할 로컬 인덱스 # 많은 로컬 인덱스가 구성될 수 있습니다 # 로컬 = 테스트1 # 로컬 = test1stemmed # 원격 에이전트 # 여러 원격 에이전트를 지정할 수 있습니다 # TCP 연결 구문은 'hostname:port:index1,[index2[,...]]'입니다. # 로컬 UNIX 연결 구문은 '/path/to/socket:index1,[index2[,...]]'입니다. # 에이전트 = localhost:9313:remote1 # 에이전트 = localhost:9314:remote2,remote3 # 에이전트 = /var/run/searchd.sock:remote4 # 블랙홀 원격 에이전트, 디버깅/테스트용 # 네트워크 오류 및 검색 결과는 무시됩니다 # # 에이전트_블랙홀 = testbox:9312:testindex1,testindex2 # 원격 에이전트 연결 시간 초과(밀리초) # 선택사항, 기본값은 1000ms, 즉 1초입니다. # Agent_connect_timeout = 1000 # 원격 에이전트 쿼리 시간 초과(밀리초) # 선택사항, 기본값은 3000ms, 즉 3초입니다. # Agent_query_timeout = 3000 #} # 실시간 인덱스 예시 # # 이 인덱스에 대해 즉시 INSERT, REPLACE 및 DELETE를 실행할 수 있습니다. # MySQL 프로토콜 사용(아래 'listen' 지시문 참조) #인덱스RT #{ # RT 인덱스를 사용하려면 'rt' 인덱스 유형을 지정해야 합니다. # 유형 = rt # 인덱스 파일 경로 및 파일 이름(확장자 없음) # 필수, 경로는 쓰기 가능해야 하며 확장자는 자동으로 추가됩니다 # 경로 = /usr/local/sphinx/var/data/rt # RAM 청크 크기 제한 # RT 인덱스는 최대 이만큼의 데이터를 RAM에 보관한 다음 디스크에 플러시합니다. # 선택 사항, 기본값은 32M입니다. # #rt_mem_limit = 512M # 전체 텍스트 필드 선언 # 다중 값, 필수 #rt_field = 제목 #rt_field = 내용 # 부호 없는 정수 속성 선언 # 다중 값(임의의 수의 속성이 허용됨), 선택 사항 # 부호 없는 32비트 속성을 선언합니다. # rt_attr_uint = gid # RT 인덱스는 현재 다음 속성 유형을 지원합니다. # 단위, bigint, 부동 소수점, 타임스탬프, 문자열 # #rt_attr_bigint = GUID #rt_attr_float = gpa #rt_attr_timestamp = ts_add됨 #rt_attr_string = 작성자 #} ##################### ## 인덱서 설정 ##################### 인덱서 { #인덱싱 프로세스의 메모리 사용량 제한입니다. 선택적 옵션, 기본값은 32M입니다. # 메모리 제한(바이트, 킬로이트(16384K) 또는 메가바이트(256M)) # 선택사항, 기본값은 32M, 최대값은 2047M, 권장 크기는 256M~1024M입니다. mem_limit = 32M # 초당 최대 IO 호출 수(I/O 조절용) # 선택사항, 기본값은 0(무제한) # I/O 작업을 제한하는 데 사용되는 초당 최대 I/O 작업 수입니다. 선택적 옵션이며 기본값은 0(제한 없음)입니다. # max_iops = 40 # 최대 IO 호출 크기, 바이트(I/O 조절용) # 선택사항, 기본값은 0(무제한) # I/O 조절에 사용되는 최대 허용 I/O 작업 크기(바이트)입니다. 선택적 옵션이며 기본값은 0(제한 없음)입니다. # max_iosize = 1048576 # 최대 xmlpipe2 필드 길이, 바이트 # 선택 사항, 기본값은 2M입니다. # XMLLpipe2 데이터 소스에 허용되는 최대 필드 크기 # max_xmlpipe2_field = 4M # 쓰기 버퍼 크기, 바이트 # 여러 개의(현재 최대 4개) 버퍼가 할당됩니다. # mem_limit 외에 쓰기 버퍼가 할당됩니다. # 선택 사항, 기본값은 1M입니다. # 쓰기 버퍼의 크기(바이트)입니다. 선택적 옵션이며 기본값은 1MB입니다. # write_buffer = 1M # 최대 파일 필드 적응형 버퍼 크기 # 선택사항, 기본값은 8M, 최소값은 1M # # max_file_field_buffer = 32M } ###################### ## 검색 설정 ###################### 검색됨 { # [호스트 이름:]포트[:protocol] 또는 수신 대기할 /unix/socket/path # 알려진 프로토콜은 'sphinx'(SphinxAPI) 및 'mysql41'(SphinxQL)입니다. # # 다중 값, 다중 수신 지점이 허용됩니다. # 선택 사항, 기본값은 아래와 같이 9312:sphinx 및 9306:mysql41입니다. # # 듣기 = 127.0.0.1 # 듣기 = 192.168.0.1:9312 # 듣기 = 9312 # 듣기 = /var/run/searchd.sock 듣기=9312 #듣기 = 9306:mysql41 # 로그 파일, 검색 실행 정보가 여기에 기록됩니다. # 선택 사항, 기본값은 'searchd.log'입니다. # 모든 검색 런타임 이벤트는 이 로그 파일에 기록됩니다. 로그 = /usr/local/sphinx/var/log/searchd.log # 쿼리 로그 파일, 모든 검색어가 여기에 기록됩니다. # 선택 사항, 기본값은 비어 있습니다(쿼리를 기록하지 않음). # 모든 검색어가 이 파일에 기록됩니다. query_log = /usr/local/sphinx/var/log/query.log # 클라이언트 읽기 시간 초과(초) # 선택사항, 기본값은 5 #네트워크 클라이언트가 요청한 읽기 시간 초과(초)입니다. read_timeout = 5 # 요청 시간 초과(초) # 선택사항, 기본값은 5분 #영구 연결을 사용하는 경우 두 쿼리 사이에 대기하는 최대 시간(단위는 초)입니다. client_timeout = 300 # 분기할 최대 자식 수(실행할 동시 검색) # 선택사항, 기본값은 0(무제한) #서버 로드를 제어하는 데 사용되는 최대 하위 프로세스 수입니다. 언제든지 이 설정 값보다 더 많은 검색을 동시에 실행할 수는 없습니다. 제한에 도달하면 새 수신 클라이언트는 임시 실패(SEARCH_RETRY) 상태 코드와 함께 거부되고 서버가 최대 연결 제한에 도달했다는 메시지가 표시됩니다. max_children = 30 # PID 파일, 검색된 프로세스 ID 파일 이름 # 필수적인 #프로세스 ID 파일 pid_file = /usr/local/sphinx/var/log/searchd.pid # 데몬이 RAM에 보관하는 최대 일치 수(인덱스당) # 경고, 쿼리당 제한도 있습니다. SetLimits() API 호출을 참조하세요. # 기본값은 1000입니다(Google과 마찬가지로). # 데몬이 각 인덱스에 대해 메모리에 유지하고 클라이언트에 반환하는 최대 일치 수입니다. max_matches = 1000 # 원활한 회전, 대규모 데이터 세트를 사전 캐싱하는 경우 회전 중단을 방지합니다. # 선택사항, 기본값은 1 #인덱스가 대량의 데이터를 미리 가져와야 할 때 검색 회전이 응답을 중지하는 것을 방지합니다. 선택적 옵션이며 기본값은 1입니다(원활한 회전 활성화). Seamless_rotate = 1 # 시작 시 모든 인덱스를 강제로 미리 열지 여부 # 선택 사항, 기본값은 1입니다(모든 항목을 미리 엽니다). #시작 시 모든 인덱스 파일을 강제로 다시 열지 여부입니다. 선택적 옵션이며 기본값은 0(다시 열지 않음)입니다. preopen_indexes = 1 # 성공적인 순환 시 .old 인덱스 복사본의 연결을 해제할지 여부. # 선택 사항, 기본값은 1입니다(링크 해제 수행). #인덱스 회전 성공 후 확장자가 .old인 인덱스 복사본을 삭제할지 여부. 선택적 옵션, 기본값은 1입니다(이 인덱스 복사본 삭제). unlink_old = 1 # 속성 업데이트 주기적인 플러시 시간 초과(초) # 업데이트는 이렇게 자주 자동으로 디스크에 덤프됩니다. # 선택 사항, 기본값은 0(주기적인 플러시 비활성화) # UpdateAttributes()가 호출되면 일정 시간이 지난 후 업데이트가 디스크에 기록되는지 여부 # attr_flush_기간 = 900 # 인스턴스 전체 ondisk_dict 기본값(인덱스별 값이 우선 적용됨) # 선택 사항, 기본값은 0(RAM의 모든 사전 캐시) #ondisk_dict 지시문의 전역 기본값입니다. 선택적 옵션, 기본값은 0입니다(사전을 메모리에 사전 버퍼링). #ondisk_dict_default = 1 #MVA 업데이트 풀 크기 # searchd의 모든 인스턴스 간에 공유되며 속성 플러시를 비활성화합니다! # 선택사항, 기본 크기는 1M입니다. #네트워크 통신 중에 허용되는 최대 패킷 크기입니다. mva_updates_pool = 1M # 최대 허용 네트워크 패킷 크기 # 클라이언트의 쿼리 패킷과 에이전트의 응답을 모두 제한합니다. # 선택사항, 기본 크기는 8M입니다. # 다중 값 속성 MVA 업데이트에 사용되는 저장 공간의 공유 풀 크기입니다. max_packet_size = 8M # 충돌 로그 경로 # searchd는 충돌한 쿼리를 'crash_log_path.PID' 파일에 기록합니다. # 선택 사항, 기본값은 비어 있습니다(충돌 로그를 생성하지 않음) #충돌 로그 파일 경로 # crash_log_path = /usr/local/sphinx/var/log/crash # 쿼리당 최대 허용 필터 수 # 선택사항, 기본값은 256 #각 쿼리에 설정할 수 있는 최대 필터 수입니다. 내부 확인용으로만 사용되며 메모리 사용량이나 성능에 직접적인 영향을 미치지 않습니다. max_filters = 256 # 필터당 최대 허용 값 개수 # 선택 사항, 기본값은 4096입니다. #단일 필터가 허용하는 최대 값 수입니다. 내부 확인용으로만 사용되며 메모리 사용량이나 성능에 직접적인 영향을 미치지 않습니다. max_filter_values = 4096 # 소켓 청취 큐 길이 # 선택사항, 기본값은 5 #TCP 수신 백로그 목록 길이입니다. 일치하지 않는 요청은 "연결 거부됨" 오류 메시지와 함께 즉시 실패합니다. # Listen_backlog = 5 # 키워드별 읽기 버퍼 크기 # 선택사항, 기본값은 256K #각 키워드에 대한 읽기 버퍼의 크기입니다. 선택적 옵션이며 기본값은 256K입니다. # read_buffer = 256K # 암시되지 않은 읽기 크기(현재 히트를 읽을 때 사용됨) # 선택사항, 기본값은 32K #자동일 때 읽기 작업의 크기입니다. 선택적 옵션이며 기본값은 32K입니다. # read_unhinted = 32K # 배치당 최대 허용 쿼리 수(다중 쿼리 수라고도 함) # 선택사항, 기본값은 32입니다. #각 배치의 쿼리 수를 제한합니다. OPEN 이후 볼륨 쿼리 max_batch_queries = 32 # 최대 공통 하위 트리 문서 캐시 크기, 쿼리당 # 선택 사항, 기본값은 0(하위 트리 최적화 비활성화) # # subtree_docs_cache = 4M # 최대 공통 하위 트리 적중 캐시 크기, 쿼리당 # 선택 사항, 기본값은 0(하위 트리 최적화 비활성화) # 최적화를 위해 공통 하위 트리를 사용하도록 RAM을 제한합니다. 기본적으로 최적화는 없습니다. # subtree_hits_cache = 8M # 다중 처리 모드(MPM) # 알려진 값은 없음, 포크, 프리포크 및 스레드입니다. # 선택사항, 기본값은 포크입니다. # 일하는 방법 작업자 = RT가 작동하기 위한 스레드 수 # 분산 인덱스의 로컬 부분을 검색하기 위해 생성할 최대 스레드 # 선택사항, 기본값은 0입니다. 이는 다중 스레드 검색을 비활성화함을 의미합니다. # 모든 MPM에서 작동해야 합니다(즉, 작업자=스레드가 필요하지 않음) # # dist_threads = 4 # binlog 파일 경로; binlog를 비활성화하려면 빈 문자열을 사용합니다. # 선택 사항, 기본값은 빌드 시 구성된 데이터 디렉터리입니다. # 바이너리 로그 경로 # binlog_path = # 로깅 비활성화 # binlog_path = /usr/local/sphinx/var/data # binlog.001 등이 생성됩니다 # binlog 플러시/동기화 모드 # 0은 매초 플러시 및 동기화를 의미합니다. # 1은 모든 트랜잭션을 플러시하고 동기화함을 의미합니다. # 2는 모든 트랜잭션을 플러시하고 매초마다 동기화함을 의미합니다. #선택사항, 기본값은 2입니다. # 로그 새로고침 모드 # binlog_flush = 2 #binlog 파일당 크기 제한 # 선택 사항, 기본값은 128M, 0은 제한 없음을 의미합니다. #최대 로그 크기 # binlog_max_log_size = 256M # 스레드별 스택 크기, 작업자=스레드 모드에만 영향을 미칩니다. # 선택 사항, 기본값은 64K #각 스레드의 스택 크기. # thread_stack = 128K # 키워드별 확장 제한(dict=keywords 접두사 검색의 경우) # 선택 사항, 기본값은 0(제한 없음) # 최대 키워드 수까지 확장 # 확장 제한 = 1000 # RT RAM 청크 플러시 기간 # 선택 사항, 기본값은 0(주기적인 플러시 없음) #RT 메모리에서 인덱스를 확인한 시간 #rt_flush_기간 = 900 # 쿼리 로그 파일 형식 # 선택 사항, 알려진 값은 일반 및 sphinxql이며 기본값은 일반입니다. # 쿼리 로그 형식 # query_log_format = sphinxql # MySQL 네트워크 프로토콜 클라이언트에 반환된 버전 문자열 # 선택 사항, 기본값은 비어 있습니다(Sphinx 버전 사용). #MYSQL 버전 # mysql_version_string = 5.0.37 # 신뢰할 수 있는 플러그인 디렉토리 # 선택 사항, 기본값은 비어 있습니다(UDF 비활성화). # 플러그인 디렉토리 # 플러그인_디렉터리 = /usr/local/sphinx/lib # 기본 서버 전체 데이터 정렬 # 선택 사항, 기본값은 libc_ci입니다. # 링크 문자 집합 # collation_server = utf8_general_ci # libc 기반 데이터 정렬을 위한 서버 전체 로케일 # 선택사항, 기본값은 C입니다. # 대조 옵션 # collation_libc_locale = ru_RU.UTF-8 # 스레드 서버 감시(workers=threads 모드에서만 사용됨) # 선택사항, 값은 0과 1, 기본값은 1(워치독 켜짐) # 서버 모니터링 프로세스 활성화 여부 # 워치독 = 1 # SphinxQL 호환 모드(레거시 열 및 해당 이름) # 선택 사항, 기본값은 0(SQL 호환 구문 및 결과 집합) #sphinxql 호환 모드 # compat_sphinxql_magics = 1 } # --eof-- 색인 생성: /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf index1 인덱싱을 위한 논스톱 서비스: /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all --rotate PHP 클라이언트를 사용할 수 있도록 색인 서비스를 시작하세요. /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf PHP 테스트 파일 만들기
실행해 보세요 searchd 명령: 강제 정지: searchd --config /home/myuser/sphinx.conf –stop 조용한 정차: searchd --config /home/myuser/sphinx.conf –stopwait 상태: searchd --config /home/myuser/sphinx.conf –status PID 파일 지정 searchd --config /home/myuser/sphinx.conf --pidfile /home/myuser/sphinx.pid 콘솔 모드에서 시작: searchd --config /home/myuser/sphinx.conf –console 지정된 인덱스만 시작 searchd --index myindex 일부 사전을 생성하는 도구 소프트웨어: Spelldump indextool 전송을 위한 일부 소프트웨어 및 기타 도구 검색 문자열 규칙: * 연산자 또는: 안녕하세요 | 세상 * 연산자 NOT: 안녕하세요 안녕하세요!세계 * 필드 검색 연산자: @title 안녕하세요 @바디월드 * 필드 위치 제한 수정자(버전 0.9.9-rc1에 도입됨): @body[50] 안녕하세요 * 다중 필드 검색 연산자: @(제목,본문) Hello World * 전체 필드 검색 연산자: @* 안녕하세요 * 구문 검색 연산자: "안녕하세요" * 근접 검색 연산자: "안녕하세요"~10 * 쿼럼 일치 연산자: "세상은 정말 멋진 곳이에요"/3 * 엄격한 순서 연산자(일명 "이전" 연산자): 아아아 * 정확한 형식 수정자(버전 0.9.9-rc1에 도입됨): 비가 온다 =고양이와 =개 * 필드 시작 및 필드 끝 수정자(버전 0.9.9-rc2에 도입됨): ^안녕하세요$ * NEAR, 일반화된 근접 연산자(버전에 도입됨) 2.0.1-베타): hello NEAR/3 world NEAR/4 "나의 테스트" * SENTENCE 연산자(버전 2.0.1-베타에 도입됨): 모든 SENTENCE 단어 SENTENCE "한 문장으로" * PARAGRAPH 연산자(버전 2.0.1-베타에 도입됨): "빌 게이츠" PARAGRAPH "스티브 잡스" * 구역 제한 연산자: ZONE:(h3,h4) 이 제목에만 해당 표현식, 지원함수 등 날짜는 타임스탬프를 사용함(MYSQL 스토리지 엔진으로 사용하지 않는 경우에는 사용하지 않는 것으로 보임) * 산술 연산자: , -, *, /, %, DIV, MOD * 비교 연산자: =, =, * 부울 연산자: AND, OR, NOT * 비트 연산자: &, | *ABS() *빅인트() *세일() *코사인() * CRC32() *낮() *EXP() *바닥() *지오디스트() *IDIV() *만약에() *안에() * 간격() *LN() *LOG10() *로그2() *MAX() *최소() *월() *지금() *POW() * 죄() * 신트() * SQRT() * 년도() * 연월() * YEARMONTHDAY() 클라이언트 방법 소개:
|