- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这两天我都在想这件事......
我想在 sphinx 搜索中使用斯洛文尼亚字母,所有英文字母 + č ž š(以防万一 ć)
我在网上到处寻找合适的字符,但我发现 squat...
所以我决定一步步自己做...
这是我的索引
index classifieds
{
source = classifieds_src
path = c:\Sphinx\data\classifieds
docinfo = extern
min_infix_len = 2
infix_fields = title,keywords,summary,text
expand_keywords = 1
enable_star = 1
charset_type = utf-8
charset_table = 0..9, a..z, _, A..Z->a..z,-, U+002C, \
U+010C->U+010D, U+0106->U+0107, U+0160->U+0161, U+017D->U+017E, \
U+010D->c,U+0107->c, U+0161->s, U+017E->z, \
U+010D, U+0107, U+0161, U+017E
}
我将大 Č、Ć Š Ž 映射到对应的小写字母,并添加了来自č 变成 c, ć 变成 c, š 变成 s, ž 变成 z最后我将这四个字符添加到表中....
这些是我的分类标题:
t1: HP USB optična miška za prenosnik RH304t2: Čiška PCplus MO-U033+F2 (optična, brezžična, PS/2)t3:Miška Logitech optična Nano M235 siva
数据库编码:utf8_general_ci表的编码:utf8_general_ci标题字段编码:utf8_general_ci
测试用例:
$testcase = array(
"miška",
"mi*ka",
"Čiška",
"čiška",
"miska",
"usb prenosnik",
"prenosnik miska",
"miška usb"
);
//api settings:
$this->sphinx->SetArrayResult(true);
$this->sphinx->setLimits(0, 100);
$this->sphinx->setMatchMode(SPH_MATCH_EXTENDED2);
$this->sphinx->SetSortMode(SPH_SORT_RELEVANCE, '@weight DESC');
$this->sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$this->sphinx->SetFieldWeights(array("title"=>100, "keywords"=>80, "summary"=>60,
"text"=>20, "slug"=>10));
最后是测试结果:
关键字(总计/total_found)单词
miška (0/0)
Array
(
[*miška*] => Array
(
[docs] => 0
[hits] => 0
)
[miška] => Array
(
[docs] => 0
[hits] => 0
)
)
mi*ka (0/0)
Array
(
[*mi*] => Array
(
[docs] => 3
[hits] => 4
)
[mi] => Array
(
[docs] => 1
[hits] => 1
)
[*2aka*] => Array
(
[docs] => 0
[hits] => 0
)
[2aka] => Array
(
[docs] => 0
[hits] => 0
)
)
Čiška (0/0)
Array
(
[*čiška*] => Array
(
[docs] => 0
[hits] => 0
)
[čiška] => Array
(
[docs] => 0
[hits] => 0
)
)
čiška (0/0)
Array
(
[*čiška*] => Array
(
[docs] => 0
[hits] => 0
)
[čiška] => Array
(
[docs] => 0
[hits] => 0
)
)
miska (0/0)
Array
(
[*miska*] => Array
(
[docs] => 0
[hits] => 0
)
[miska] => Array
(
[docs] => 0
[hits] => 0
)
)
usb prenosnik (1/1)
Array
(
[*usb*] => Array
(
[docs] => 1
[hits] => 1
)
[usb] => Array
(
[docs] => 1
[hits] => 1
)
[*prenosnik*] => Array
(
[docs] => 1
[hits] => 1
)
[prenosnik] => Array
(
[docs] => 1
[hits] => 1
)
)
prenosnik miska (0/0)
Array
(
[*prenosnik*] => Array
(
[docs] => 1
[hits] => 1
)
[prenosnik] => Array
(
[docs] => 1
[hits] => 1
)
[*miska*] => Array
(
[docs] => 0
[hits] => 0
)
[miska] => Array
(
[docs] => 0
[hits] => 0
)
)
miška usb (0/0)
Array
(
[*miška*] => Array
(
[docs] => 0
[hits] => 0
)
[miška] => Array
(
[docs] => 0
[hits] => 0
)
[*usb*] => Array
(
[docs] => 1
[hits] => 1
)
[usb] => Array
(
[docs] => 1
[hits] => 1
)
)
你可以清楚地看到我只在没有斯洛文尼亚特殊字符的查询中得到肯定的结果
拜托,请帮帮我,我对此失去了理智
最佳答案
问题是 sphinx 索引器默认不使用 utf8 字符集。通过将以下内容添加到 sphinx.conf 进行修复
sql_query_pre = SET CHARACTER_SET_RESULTS=utf8
sql_query_pre = SET NAMES utf8
引用资料
关于php - sphinx 搜索 : charset table difficulties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7637751/
我正在尝试确定测验对象的“难度”。 我的最终目标是能够为任何测验创建一个“难度分数” (DS)。这将使我能够准确地将一个测验与另一个测验进行比较,尽管由不同的问题/答案组成。 在创建我的测验对象时,我
我加载一个 xib 这样做: [contentViews addObject:[[HMUISettingsViewController alloc] initWithNibName:"Settings
我有一个情况,我想通过两个字段进行查询,我认为这会很简单,但事实证明它比我想象的要困难得多。 这是对正在查询的文档的粗略查看... class Item { string Id { get; s
我在 mooc 中有一项作业,必须编写一个函数来返回输入列表的累积和、累积乘积、最大值和最小值。 这部分类(class)是关于函数式编程的,所以我想全力以赴,尽管我可以使用其他方式。 所以我尝试了这个
我对我的 GAE 应用程序进行了单元测试: def test_getNeighborhoodKeys_twoCourses(self): cs1110, cs2110 = te
我认为我在调用 setResultsName() 时犯了一个错误: from pyparsing import * DEPT_CODE = Regex(r'[A-Z]{2,}').setResults
我正在使用TypeScrip在ReactJS中创建一个设计系统,我遇到了一个问题,我无法正确地传递和返回组件的类型。以下是我到目前为止所做的:。然而,我仍然面临着困难,使其工作的预期。具体来说,我希望
我有这个用例。 第一条链: 这是相关代码: @Override @Transactional(propagation = Propagation.
我计划在 android 中实现表单验证。我已经使用以下代码完成了空字段验证。(用于编辑文本 mTitleText ) mTitleText.setOnFocusChangeListener(this
我有一些代码看起来像这样: $('.myList li:not(:contains(' + myWord + '))').css({'color' : red' }); 调用时,这会将所有不包含我的关
我在我的 CSS 中为 p 标签设计了一个简单的“dropcap”类型设计样式。 p.introduction:first-letter { float: left; font-fam
我正在尝试创建一个简单的计算器,仅使用 HTML 和 CSS 进行布局,最终使用纯 JavaScript 进行功能。 我希望站点/页面能够响应,这就是我使用 CSS 网格而不使用绝对单位的原因; %
我似乎无法理解 Array.max(by:) 背后的想法运营商解释。 考虑以下代码行: print([10, 2, 5, 1, 3].max { $0 > $1 }) 我假设预期输出应该是 10,但实
我在 Ted Talk 链接中看到了 Alex Wissner-gross 和他的智能行为理论 Here .我试图阅读链接的学术论文 Here ,这与他的演讲有关,但我对数学和物理学的理解不够,无法真
我正在使用TypeScrip在ReactJS中创建一个设计系统,我遇到了一个问题,我无法正确地传递和返回组件的类型。以下是我到目前为止所做的:。然而,我仍然面临着让它按预期工作的困难。具体地说,我希望
我是 Haskell 的新手,很难理解如何让我的程序使用自动微分模块 AD 进行类型检查。 我的目标是实现一个隐式 Euler ODE 求解器,它利用牛顿法对离散方程进行数值求解。 (我试图将其推广到
我有一个包含大量字段的列表 List,需要使用流一次性创建一个 List。 我们需要将List中的字段current标记为true,为输入List中的最小正整数 输入: [PT(pn=-1, endD
这两天我都在想这件事...... 我想在 sphinx 搜索中使用斯洛文尼亚字母,所有英文字母 + č ž š(以防万一 ć) 我在网上到处寻找合适的字符,但我发现 squat... 所以我决定一步步
我用汇编语言 (MASM) 编写了一个程序,让学生练习计算组合。该程序随机分配 n 和 r,计算组合,然后提示学生提供答案。 问题已解决 *大部分程序运行良好,但我遇到了一些挑战,将学生提供的整数字符
我制作了一个适用于 Android 的词汇应用,在本地数据库 (SQLite) 中存储了大约 5000 个单词的列表,我想找出哪些单词比其他单词更难。 为了找出答案,我正在考虑添加一个非常简单的功能,
我是一名优秀的程序员,十分优秀!