데이터 베이스 MySQL 튜토리얼 mysql中使用sphinx搜索子域名需注意的问题

mysql中使用sphinx搜索子域名需注意的问题

Jun 07, 2016 pm 05:55 PM
sphinx

比如搜索jb51.net会把www.jb51.net、jb51.net、sc.jb51.net等都搜索出来

搜索子域名

比如搜索jb51.net会把www.jb51.net、jb51.net、host.jb51.net等都搜索出来。

如果使用mysql用like的话效率是非常低的,几百万甚至上千万的数据那是没有办法使用的,于是采取sphinx来做。

在使用的过程中发现了诸多问题,这里将其总结起来,也让不知道的朋友注意下这些字符。

分析:
sphinx是全文索引,它搜索的是包含的记录。

首先如果我们不做任何设置的话,搜索jb51.net会出现把aajb51.net、jb51.a.cn、jb51.net.com(当然这个域名后缀不存在,但是会有符合相应规则的域名,这里只举例)等等。

为什么会出现这种情况呢?

我们使用./search -c 配置文件 -i 索引名 'jb51.net' 搜索的时候会发现下面words部分被分成了两部分'jb51'和'cn',默认以.作为分隔符,如果我们不想让它做为分隔符,就需要把.添加到charset_table里面,这里需要说的是我们搜索域名只需要有字母、数字、"-"等字符,其他的不需要。设置如下:
charset_table = 0..9,A..Z->a..z, a..z,U+002e,U+002d,U+0040,U+0060 #其中U+002e代表".",U+002d代表"-",U+0040代表"@",U+0060代表"`",这里为ascii码值。
这样会解决掉搜出jb51.a.cn这类域名。

那么jb51.net.com这类呢?我们可以在索引的字段中增加惟一后缀比如“XXXXX”,concat(search,'XXXXX')这样,就不会出来了。

现在就剩下aajb51.net这类域名,我们使用关键字“ '".jb51.net"' ”(注意是单引号里面套双引号)这样来搜索,主域名单独加上,但是使用的过程中发现这样搜出了与这个域名无关的域名,比如aa.bb.cn这样,经后来研究是"."的问题,后来把"."替换成"@",来搜索又出现12306等好多域名无法读取到的问题,后来经研究估计这些特殊字符在sphinx中都有特殊的意义,于是找到了"`"这个字符,换成这个以后一切才算正常了。

注意:将"."替换成"`"等相应字符后需在charset_table里增加这个字符,不然是被忽略的。

所以在搜索的过程中我们需要注意下这些特殊字符。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 Jul 29, 2023 am 10:05 AM

전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법 전체 텍스트 검색은 최신 웹 애플리케이션의 일반적인 요구 사항 중 하나입니다. 사용자의 효율적인 데이터 조회 및 검색을 만족시키기 위해 강력한 오픈소스 검색 엔진인 Sphinx를 사용하여 전체 텍스트 검색 기능을 구현할 수 있습니다. Sphinx는 C++로 작성되었으며 PHP 프로젝트에서 쉽게 사용할 수 있도록 PHP 확장을 제공합니다. 이 기사에서는 전체 텍스트 검색을 위해 PHP 확장 Sphinx를 사용하는 방법을 소개합니다.

전체 텍스트 검색을 구현하기 위한 Sphinx PHP 애플리케이션 가이드 전체 텍스트 검색을 구현하기 위한 Sphinx PHP 애플리케이션 가이드 Oct 03, 2023 am 08:37 AM

전체 텍스트 검색 구현을 위한 Sphinx PHP 애플리케이션 가이드 소개: 최신 웹 애플리케이션에서 전체 텍스트 검색 기능은 필수 기능이 되었습니다. 사용자들이 키워드를 입력해 필요한 콘텐츠를 검색하고 매칭하는 경우가 많기 때문입니다. 효율적이고 정확한 검색 결과를 제공하기 위해서는 강력한 검색 엔진이 필요합니다. 오픈 소스 전체 텍스트 검색 엔진인 Sphinx는 PHP를 위한 완벽한 검색 솔루션을 제공합니다. 이 기사에서는 Sphinx를 사용하여 구현하는 방법을 소개합니다.

자연어 처리 분야의 Sphinx PHP 응용 기술 자연어 처리 분야의 Sphinx PHP 응용 기술 Oct 03, 2023 am 09:53 AM

자연어 처리 분야의 SphinxPHP 응용 기술에는 특정 코드 예제가 필요합니다. 인터넷의 발달과 인공 지능 기술의 발전으로 자연어 처리(Natural Language Process, NLP)는 컴퓨터 과학의 중요한 연구 방향이 되었습니다. 자연어 처리의 목표는 컴퓨터가 자연어를 이해하고 해석하고 생성할 수 있도록 하여 인간과 기계 간의 의사소통을 보다 편리하고 지능적으로 만드는 것입니다. 자연어 처리에서 텍스트 검색은 매우 중요합니다.

Sphinx는 PHP 프로젝트에 대한 실시간 검색 효과를 구현합니다. Sphinx는 PHP 프로젝트에 대한 실시간 검색 효과를 구현합니다. Oct 03, 2023 am 09:16 AM

Sphinx는 대규모 데이터의 검색과 조회를 빠르고 효율적으로 구현할 수 있는 오픈소스 전문 검색 엔진입니다. PHP 프로젝트에서 Sphinx를 사용하면 실시간 검색 효과를 얻고 사용자 경험과 검색 속도를 향상시킬 수 있습니다. 이 기사에서는 PHP 프로젝트에서 Sphinx를 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. Sphinx 설치 PHP 프로젝트에서 실시간 검색 효과를 얻으려면 먼저 Sphinx를 설치해야 합니다. 스핑크스 공식 홈페이지에서 확인 가능

Sphinx 분산검색의 PHP 구현방법 분석 Sphinx 분산검색의 PHP 구현방법 분석 Oct 03, 2023 am 08:49 AM

Sphinx 분산 검색의 PHP 구현 방법 분석 서론: 오늘날 인터넷 시대에 검색 엔진은 사람들이 정보를 얻는 주요 방법 중 하나가 되었습니다. 보다 효율적이고 정확한 검색 결과를 제공하기 위해 일부 대규모 웹사이트나 애플리케이션에서는 일반적으로 분산 검색 엔진을 사용하여 검색 요청을 처리합니다. Sphinx는 우수한 성능과 확장성을 갖춘 잘 알려진 분산 검색 엔진입니다. 이 기사에서는 PHP를 사용하여 Sphinx 분산 검색을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

Sphinx는 PHP 프로젝트에 대한 빠른 검색 및 캐시 최적화를 구현합니다. Sphinx는 PHP 프로젝트에 대한 빠른 검색 및 캐시 최적화를 구현합니다. Oct 03, 2023 am 09:01 AM

Sphinx는 대용량 데이터를 빠르게 처리하고 효율적인 검색 기능을 제공하는 오픈소스 전문 검색 엔진입니다. PHP 프로젝트에서 Sphinx를 사용하면 빠른 검색 및 캐시 최적화를 달성하여 프로젝트 성능과 사용자 경험을 향상시킬 수 있습니다. 이 기사에서는 PHP 프로젝트에 Sphinx를 통합하는 방법을 소개하고 특정 코드 예제를 통해 Sphinx의 사용법과 이점을 설명합니다. 1. Sphinx 설치 및 구성 Sphinx를 사용하려면 먼저 서버에 Sphinx를 설치하고 구성해야 합니다.

Sphinx 고가용성 검색의 PHP 구현 방법 연구 Sphinx 고가용성 검색의 PHP 구현 방법 연구 Oct 03, 2023 am 09:41 AM

Sphinx 고가용성 검색의 PHP 구현 방법에 대한 연구 소개: Sphinx는 빠르고 정확하며 확장 가능한 검색 솔루션을 제공하는 오픈 소스 전체 텍스트 검색 엔진입니다. Sphinx를 PHP 웹사이트에 통합하면 가용성이 높은 검색 기능을 얻을 수 있습니다. 이 기사에서는 Sphinx가 PHP에서 어떻게 구현되는지 살펴보고 구체적인 코드 예제를 제공합니다. 1. Sphinx 소개 Sphinx는 C++로 개발된 전체 텍스트 검색 엔진으로 빠르고 빠른 검색에 중점을 둡니다.

Sphinx PHP로 다국어 검색 및 번역을 수행하는 방법 Sphinx PHP로 다국어 검색 및 번역을 수행하는 방법 Oct 03, 2023 am 08:37 AM

SphinxPHP가 다국어 검색 및 번역을 수행하려면 특정 코드 예제가 필요합니다. 세계화가 진행됨에 따라 웹 사이트 개발에서 다국어 검색 및 번역이 점점 더 보편화되고 있습니다. Sphinx는 강력하고 효율적인 검색 기능을 제공하는 오픈 소스 전체 텍스트 검색 엔진입니다. 다국어 검색 및 번역을 위해 Sphinx를 PHP 언어와 함께 사용하는 경우 Sphinx의 다국어 지원 및 PHP의 문자열 처리 기능을 사용하여 이 기능을 구현할 수 있습니다. 이번 글에서는 스핑크스 사용법을 소개하겠습니다.

See all articles