Heim Datenbank MySQL-Tutorial 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里增加这个字符,不然是被忽略的。

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie die PHP-Erweiterung Sphinx für die Volltextsuche So verwenden Sie die PHP-Erweiterung Sphinx für die Volltextsuche Jul 29, 2023 am 10:05 AM

So verwenden Sie die PHP-Erweiterung Sphinx für die Volltextsuche. Die Volltextsuche ist eine der häufigsten Anforderungen in modernen Webanwendungen. Um die effiziente Abfrage und den Abruf von Daten durch Benutzer zu gewährleisten, können wir Sphinx, eine leistungsstarke Open-Source-Suchmaschine, zur Implementierung der Volltextsuchfunktion verwenden. Sphinx ist in C++ geschrieben und bietet PHP-Erweiterungen, um uns die Verwendung in PHP-Projekten zu erleichtern. In diesem Artikel erfahren Sie, wie Sie die PHP-Erweiterung Sphinx für die Volltextsuche verwenden

Sphinx PHP-Anwendungshandbuch zur Implementierung der Volltextsuche Sphinx PHP-Anwendungshandbuch zur Implementierung der Volltextsuche Oct 03, 2023 am 08:37 AM

Einführung in den PHP-Anwendungsleitfaden zur Implementierung der Volltextsuche mit Sphinx: In modernen Webanwendungen ist die Volltextsuchfunktion zu einem unverzichtbaren Feature geworden. Weil Benutzer häufig nach den benötigten Inhalten suchen und diese durch die Eingabe von Schlüsselwörtern abgleichen. Um effiziente und genaue Suchergebnisse bereitzustellen, benötigen wir eine leistungsstarke Suchmaschine. Als Open-Source-Volltextsuchmaschine bietet Sphinx eine perfekte Suchlösung für PHP. In diesem Artikel wird erläutert, wie Sie Sphinx zur Implementierung verwenden

Sphinx PHP-Anwendungskenntnisse in der Verarbeitung natürlicher Sprache Sphinx PHP-Anwendungskenntnisse in der Verarbeitung natürlicher Sprache Oct 03, 2023 am 09:53 AM

SphinxPHP-Anwendungsfähigkeiten in der Verarbeitung natürlicher Sprache erfordern spezifische Codebeispiele. Mit der Entwicklung des Internets und der Weiterentwicklung der Technologie der künstlichen Intelligenz ist die Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) zu einer wichtigen Forschungsrichtung in der Informatik geworden. Das Ziel der Verarbeitung natürlicher Sprache besteht darin, Computer in die Lage zu versetzen, natürliche Sprache zu verstehen, zu interpretieren und zu erzeugen und so die Kommunikation zwischen Menschen und Maschinen komfortabler und intelligenter zu gestalten. Bei der Verarbeitung natürlicher Sprache ist das Abrufen von Texten sehr wichtig

Sphinx implementiert Echtzeit-Sucheffekte für PHP-Projekte Sphinx implementiert Echtzeit-Sucheffekte für PHP-Projekte Oct 03, 2023 am 09:16 AM

Sphinx ist eine Open-Source-Volltextsuchmaschine, die die Suche und den Abruf großer Datenmengen schnell und effizient realisieren kann. In PHP-Projekten kann die Verwendung von Sphinx Sucheffekte in Echtzeit erzielen und die Benutzererfahrung und Suchgeschwindigkeit verbessern. In diesem Artikel wird die Verwendung von Sphinx in PHP-Projekten vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Sphinx installieren Um Echtzeit-Sucheffekte in PHP-Projekten zu erzielen, müssen Sie zunächst Sphinx installieren. Es ist auf der offiziellen Website von Sphinx zu finden

Analyse der PHP-Implementierungsmethode der verteilten Sphinx-Suche Analyse der PHP-Implementierungsmethode der verteilten Sphinx-Suche Oct 03, 2023 am 08:49 AM

Analyse der PHP-Implementierungsmethode der verteilten Sphinx-Suche Einführung: Im heutigen Internetzeitalter sind Suchmaschinen zu einer der wichtigsten Möglichkeiten für Menschen geworden, Informationen zu erhalten. Um effizientere und genauere Suchergebnisse bereitzustellen, verwenden einige große Websites oder Anwendungen normalerweise verteilte Suchmaschinen zur Verarbeitung von Suchanfragen. Sphinx ist eine bekannte verteilte Suchmaschine mit guter Leistung und Skalierbarkeit. In diesem Artikel wird die Verwendung von PHP zur Implementierung der verteilten Sphinx-Suche vorgestellt und spezifische Codebeispiele bereitgestellt.

Sphinx implementiert eine schnelle Suche und Cache-Optimierung für PHP-Projekte Sphinx implementiert eine schnelle Suche und Cache-Optimierung für PHP-Projekte Oct 03, 2023 am 09:01 AM

Sphinx ist eine Open-Source-Volltextsuchmaschine, die große Datenmengen schnell verarbeiten kann und effiziente Suchfunktionen bietet. Durch den Einsatz von Sphinx in PHP-Projekten kann eine schnelle Such- und Cache-Optimierung erreicht und so die Projektleistung und Benutzererfahrung verbessert werden. In diesem Artikel wird die Integration von Sphinx in ein PHP-Projekt vorgestellt und seine Verwendung und Vorteile anhand spezifischer Codebeispiele veranschaulicht. 1. Installation und Konfiguration von Sphinx. Um Sphinx nutzen zu können, müssen Sie es zunächst auf dem Server installieren und konfigurieren.

Forschung zur PHP-Implementierungsmethode der Sphinx-Hochverfügbarkeitssuche Forschung zur PHP-Implementierungsmethode der Sphinx-Hochverfügbarkeitssuche Oct 03, 2023 am 09:41 AM

Forschungseinführung zur PHP-Implementierungsmethode der Sphinx-Hochverfügbarkeitssuche: Sphinx ist eine Open-Source-Volltextsuchmaschine, die schnelle, genaue und skalierbare Suchlösungen bietet. Durch die Integration von Sphinx in PHP-Websites können hochverfügbare Suchfunktionen erreicht werden. In diesem Artikel wird untersucht, wie Sphinx in PHP implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. 1. Einführung in Sphinx Sphinx ist eine in C++ entwickelte Volltextsuchmaschine

So führen Sie eine mehrsprachige Suche und Übersetzung mit Sphinx PHP durch So führen Sie eine mehrsprachige Suche und Übersetzung mit Sphinx PHP durch Oct 03, 2023 am 08:37 AM

Wie SphinxPHP mehrsprachige Suche und Übersetzung durchführt, erfordert spezifische Codebeispiele. Mit der Entwicklung der Globalisierung werden mehrsprachige Suche und Übersetzung in der Website-Entwicklung immer häufiger. Sphinx ist eine Open-Source-Volltextsuchmaschine, die leistungsstarke und effiziente Suchfunktionen bietet. Wenn wir Sphinx in Kombination mit der PHP-Sprache für die mehrsprachige Suche und Übersetzung verwenden, können wir die Mehrsprachenunterstützung von Sphinx und die Zeichenfolgenverarbeitungsfunktionen von PHP nutzen, um diese Funktion zu erreichen. In diesem Artikel wird die Verwendung von Sphinx vorgestellt

See all articles