`
imjl
  • 浏览: 156288 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

说说sphinx和搜索一些思考

阅读更多
如果说得不对还请指正:

Sphinx是一个类似Lucene东东,同样没有爬虫部分。

源代码是c++写得,国内很多人一说到高效高速就想到c++,我也不会C++(为什么说也呢,因为我用lucene写过搜索,但不会java),但不耽误我看代码,代码写得很漂亮,有兴趣的可以读读,一齐交流交流。

索引部分是将内容分词按照指定格式存储。锁有两个,一个是文件锁,另一个是mlock。
排序算法和某书说得有类似,但有所不同。

搜索部分先将索引必要信息拉到内存,然后进行搜索一系列动作(过滤,排序等),最终找到对应的id数组,然后一个个的到数据库(现在支持mysql,pgsql)拿。(lucene的必要索引信息似乎比它大多了,从我们应用的角度来看,感觉可以缩减索引,有兴趣的可以到lucene的wiki上找pruning)

sphinx是通过一个叫searchd,感觉就是个daemon来提供对外服务,技术参考管道,进程

性能很强,中文分词支持目前比较稀缺,只有一两个开源的。

有时候我觉得分词随便哪个都行,只要能找到。快慢也一般,又不是做百度,google,只要不离谱也能承受。因为我觉得最关键还是搜索结果的排序,就是如何让更优的信息能排在最前面。

想从中文词语之间来分析相关性,我觉得还是歇歇把,理论和实践差得太远了。字典也许更可靠点,但这意味着中文分词要完全重写。
垂直搜索从业务角度来分析每条信息的重要性,这个还比较靠谱,问题是每行每业都有差别,很难统一,只能根据业务来定制。

分享到:
评论
3 楼 diddyrock 2010-02-03  
是指类似同义词搜索的那种吗
2 楼 diddyrock 2010-02-03  
还有就是你前面一个面试的帖子提到的中文相关性是啥意思啊?
1 楼 diddyrock 2010-02-03  
字典也许更可靠点,但这意味着中文分词要完全重写。 这句话是啥意思?为什么用了字典分词就要重新写?难道现有的sphinx中文分词实现是不基于字典的吗?

相关推荐

    C++ 开发的sphinx垂直搜索引擎

    总的来说,Sphinx 是一个强大而灵活的全文搜索引擎,通过掌握其核心概念和技术,开发者可以构建出高效、精准的搜索功能。在 `sphinx-2.2.11-release.zip` 中,你可以探索源代码,学习其实现原理,并根据实际需求进行...

    数据库 搜索引擎 sphinx

    总之,Sphinx作为一款强大的数据库搜索引擎,以其高效、实时和灵活的特性,广泛应用于Web应用中,帮助企业与网站提供快速、精准的搜索服务。通过与各种数据库的集成和强大的查询能力,Sphinx为开发人员提供了构建高...

    PHP搜索引擎Sphinx使用教程.zip

    3. **MySQL与Sphinx的整合**:Sphinx可以与MySQL协同工作,通过MySQL作为数据源,Sphinx负责构建和维护索引,提供快速的搜索。文件名“PHP+Sphinx+Mysql做搜索引擎_lj详细.doc”和“PHP+MySQL+SPHINX安装配置与测试 ...

    sphinx全文搜索引擎

    总的来说,Sphinx全文搜索引擎以其高效、灵活和强大的特性,成为开发者在构建复杂搜索系统时的首选工具之一。通过深入理解和熟练使用Sphinx,开发者可以创建出满足用户需求、具有高性能的搜索体验。

    带有sphinx搜索功能的yii2框架实例

    Sphinx提供了实时索引、分布式搜索能力以及丰富的查询语法,包括布尔、短语、近似和拼写纠错等。CoreSeek是Sphinx在中国的社区维护版本,它针对中文环境进行了优化,支持中文分词,使得在处理中文数据时表现更优秀。...

    Sphinx搜索引擎架构与使用文档(和MySQL结合)V1.1.

    ⑶、创建数据库“Sphinx”和相对应的Sphinx表(SQL语句): 15 示例SQL: 15 四、如何通过SQL语句调用搜索引擎: 15 1、搜索应用实例 15 ⑴、XX网北京出租房搜索 15 ⑵、XX网北京小区搜索 15 ⑶、在指定字段中...

    中文搜索解决方案之sphinx

    Sphinx通过配合一些中文分词工具,如jieba分词库,能够有效地进行中文词汇的识别和搜索。 接下来,我们深入探讨Sphinx的一些核心特性: 1. **实时性**:Sphinx支持实时索引,这意味着可以在数据更新时立即反映到...

    sphinx 文档编写工具(非搜索引擎)英文doc

    标题"Sphinx文档编写工具(非搜索引擎)英文doc"和描述"这时Sphinx1.2.1的英文文档。这里的Sphinx指的是文档生成工具而不是全文搜索引擎。全英文。" 提示我们这里讨论的是一个专门用于生成和管理文档的工具,名为...

    php连接和操作sphinx搜索引擎的程序示例.zip

    Sphinx 是一个高性能的开源全文搜索服务器,它可以提供快速的文本搜索功能。Sphinx 特别适用于需要快速搜索大量数据的场景,比如网站搜索、...本压缩包即包括了sphinx扩展包及php连接和操作sphinx搜索引擎的程序示例.

    Sphinx 中文搜索优化和pdf生成方法_20181103.pdf

    Sphinx 中文搜索优化和pdf生成方法_20181103.pdf,由于 sphinx 编译 PDF 的过程中使⽤用了了 latexpdf 组件,该组件在 windows/macOS/Linux 上安装⽅方 式和使⽤用⽅方式均有不不同,建议直接使⽤用 Docker 环境来...

    Ruby-ThinkingSphinxActiveRecordRails的Sphinx全文搜索插件

    1. **条件过滤**:思考Sphinx支持在搜索时添加条件过滤,如范围查询、精确值匹配等。 2. **排序**:可以自定义搜索结果的排序方式,例如按照相关度、时间、评分等排序。 3. **分页**:方便地实现搜索结果的分页展示...

    Sphinx 强大精悍的搜索引擎

    Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更...Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

    Sphinx-完整中文手册

    在Sphinx的使用过程中,用户会遇到各种问题,因此文档中还提供了搜索数据查询方法以及一些附加方法,比如Query和AddQuery,供用户进行批量查询或特定条件下的查询。这些方法的使用使得Sphinx在处理复杂查询时更加...

    sphinx开源的搜索引擎的PHP模块扩展包(linux) sphinx.1.1.0版本

    sphinx是一个开源的搜索引擎,因为sphinx只支持英文和俄文(即只能进行英文分词和俄文分词),所以如果要使用sphinx做中文搜索的话,再引入一个中文词库,可以在我的文章里搜索 基于sphinx的开源搜索引擎coreseek的...

    用Sphinx搭建MySQL中文全文搜索

    总的来说,搭建Sphinx与MySQL的中文全文搜索系统是一项涉及多个步骤的技术任务,需要理解数据库、搜索引擎和中文处理技术。完成这一过程后,我们就能获得一个强大而灵活的搜索解决方案,可以大幅提升用户在数据库中...

    ha_sphinx for mysql5.5.29

    SphinxSE(Sphinx Storage Engine)是将Sphinx的搜索能力内嵌到MySQL中的一个插件,允许用户直接在SQL查询中使用Sphinx的搜索语法,提高了数据查询和处理的效率。通过ha_sphinx.dll文件,MySQL能够识别并加载这个...

    sphinx支持discuz包

    传统的数据库查询方式在处理大量数据时,往往效率低下,而 Sphinx 提供了专门的搜索服务,能够快速对论坛内容进行全文索引和检索。通过安装和配置 Sphinx 插件,Discuz! 用户可以享受到以下优势: 1. **高速检索**...

Global site tag (gtag.js) - Google Analytics