草庐IT

mysql - mysql 排序规则为 utf8_unicode_ci 时的 sphinx 排序规则

如果在可搜索的MySQL表中使用utf8_unicode_ci,在Sphinx配置文件中设置哪种排序规则会更好?我希望能够对搜索到的数据进行排序,注意变音符号(重音),不区分大小写。附言我正在阅读http://sphinxsearch.com/docs/2.0.6/collations.html目前,但我还不清楚所有事情。谢谢。 最佳答案 确保您在源配置中使用sql_query_pre=SETNAMESutf8,在索引配置中使用charset_type=utf-8并且您需要为元音符号添加默认的charset_tableutf代码,例

MySQL 对来自多个表的项目进行分页

有一个页面包含来自不同MySQL表的不同项目(新闻、文章、视频、音频......),绑定(bind)到特定标签(例如“经济”)。目前,从每个表中提取绑定(bind)到标记的100行,然后进行分组和排序。我需要在页面中引入分页,这在这种情况下很痛苦,因为需要将所有项目收集在一起,以便从具有一定长度的偏移量中获取block。我想我需要聚合一个数据源中每个表的项目,然后对其执行查询(按标签过滤)和排序(按日期)。为此我可以使用什么?我考虑使用Sphinx搜索引擎,但我不确定在这种情况下它是否好-我只需要查询和排序,而不是全文搜索。 最佳答案

php - Sphinx 和 PHP 的一些问题

情况是这样的:我的数据库中有一个大表-3.6GB和1,7M行。从表中选择限制和偏移量非常慢,并且经常导致错误504。表是MyISAM,有多个索引并且将被更新。这就是为什么我决定使用Sphinx来列出表的内容-在某些情况下无需查询(所有行),在某些情况下使用查询-它的效果非常好。速度惊人。但这就是问题所在-如果不进行查询,则只会返回前1,000个结果。即使我用$this->SetLimits(41,24);调用它,它也应该返回ID从984到1008的结果,但我得到的最后结果是id1,000。我尝试更改/etc/sphinxsearch/sphinx.conf中的值,重新启动服务,但没有成

php - Sphinx 多动态数据库索引

在我的情况下,我有一个包含多个数据库的网络应用程序;每个注册客户一个数据库。由于这些数据库是在用户注册时创建的,因此我无法将这些来源手动添加到sphinx配置中。但是所有数据库都具有相同的结构,搜索查询也相同;当然只是不同的数据库名称和数据。所以,问题是;sphinx可以配置为从例如获取数据库列表吗?ini或其他外部文件,然后为这些数据库创建索引?那么,我可以在查询中传递数据库名称以从指定的数据库索引中获取结果吗?还是有其他工具、其他方法可以解决我的问题? 最佳答案 sphinx.conf文件有一个技巧。如果它是可执行的,Sphin

php - 对全文性能进行基准测试——如何进行

背景我需要在MySQL服务器数据库(在10k-200k记录的大小范围内)上实现FULLTEXT搜索。到目前为止,数据库搜索是基于简单的实现(LIKE查询),这显然是低效的,更不用说不可配置等了。考虑了两种选择:启用MySQL的nativeFULLTEXT(需要添加一个或多个MyISAM表-现在整个数据库都是InnoDB);正在安装Sphinx.(我们使用PHP5.2,升级不是一个选项,所以InnoDBFULLTEXT在这里是不可能的。)问题有性能方面的考虑。可以理解的是,以任何一种方式实现FULLTEXT都会消耗更多的磁盘空间并给CPU带来更多的负担。目标是找出多少。两种解决方案都将相

php - 阿拉伯语中的 Sphinx Search 2.2.5 不工作

我正在尝试用阿拉伯语实现Sphinx搜索。我的安装已经完成,我可以用英文搜索了。但是,当我尝试按阿拉伯语单词进行搜索时,搜索结果为空白。我提供了字符集(charset_table)来支持阿拉伯字母(将形态设置为stem_ar),但它对我不起作用。我的配置可以在这个链接中找到http://sphinxsearch.com/forum/view.html?id=13130由我发布。欢迎提出任何建议。 最佳答案 请试试ngram_len=1ngram_chars=U+3000..U+2FA1F,U+0622->U+0627,U+0623-

mysql - Sphinx 搜索引擎的首字母缩略词

我如何索引像“m.i.a.”这样的首字母缩略词?当我搜索“mia”时,我得到的结果是“mia”而不是“m.i.a.”。当我搜索“m.i.a.”时,我什么也得不到。编辑:解决方案大致如下:ignore_chars=-,. 最佳答案 您可以添加“.”到您忽略的字符列表:http://www.sphinxsearch.com/docs/current.html#conf-ignore-chars或者您可以添加m.i.a.>mia作为一个词形式:http://www.sphinxsearch.com/docs/current.html#co

Rails 中的 MySQL 全文搜索?

当我向我的第一个Rails应用程序添加搜索功能时,我使用了Sphinx,因为我了解到使用MySQL的内置全文搜索是一个坏主意。虽然Sphinx运行良好,但设置起来有点复杂,而且我觉得我的应用程序中需要的简单搜索功能过载太多。在我的网站上搜索不是很频繁(最多每3-4秒搜索一次),所以我不太担心负载。我的问题:与Sphinx/Ferret/Solr等相比,为什么使用MySQL的全文搜索不是一个好主意? 最佳答案 MySQL是一个关系数据库,而不是搜索服务器,所以我们正在谈论使用不是专门为该任务构建的东西。也就是说,MySQL的全文搜索工

php - 国家名称在数据库中存储为整数/数字是否比包含其名称的字符串更好?

我想知道,因为我正在处理搜索表单并使用thinkingsphinx和过滤属性,似乎只接受整数,但我的国家/地区作为包含其名称的字符串存储在数据库中。所以我将创建自己的国家/地区列表,其中包含要在选择菜单中显示的字符串,以及存储在数据库中的整数值。只是想知道为什么我正在使用的gem(rubyonrails)的开发者决定创建一个只包含字符串的数组。这个问题不是特定于编程语言的。数据库就是数据库。亲切的问候。 最佳答案 我建议将这些国家/地区放在一个单独的表中,并为每个国家/地区分配一个唯一的ID。它没有坏处,但确实使数据库结构更加灵活。

mysql - 通过 MySQL 协议(protocol)连接到 Sphinx 时出错

我在我的Rails应用程序中使用gem'thinking-sphinx','~>3.1.1'。我按照Github的所有步骤安装thinking-sphinx,但是当我搜索记录时它给我错误ErrorconnectingtoSphinxviatheMySQLprotocol.ErrorconnectingtoSphinxviatheMySQLprotocol.Can'tconnecttoMySQLserveron'127.0.0.1'(111)-SELECT*FROMlisting_core,listing_deltaWHEREMATCH('product1')ANDcommunity_i