- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 solr4 与 TermsComponent
Autosuggest 一起使用(如 here 所述)我们正在做一个正则表达式“startsWith”-search,忽略大写/小写,整个 searchQuery 看起来像这样:
<solr>/terms
?terms.fl=name
&terms=true
&terms.limit=5
&terms.regex=<term>.*
&terms.regex.flag=case_insensitive
&qt=%2Fterms
让我举几个例子返回什么:
test -> Test Listing; test lowercase
Test -> Test Listing; test lowercase
不幸的是,这个解决方案无法处理变音符号、变音符号、重音符号……所以下面的方法将不起作用:
têst -> Test Listing; test lowercase; Têst áccènt
Test -> Test Listing; test lowercase; Têst áccènt
该字段是一个 string
- 我也尝试过使用标记化的 test_en
,但没有成功
<field name="name" type="string" indexed="true" stored="true" required="true" />
为此自动建议启用双向重音搜索的最佳方法是什么?
编辑:AnalyzerSuggester 的更改:
<searchComponent class="solr.SpellCheckComponent" name="autosuggest">
<lst name="spellchecker">
<str name="name">autosuggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.AnalyzingLookupFactory</str>
<str name="storeDir">autosuggest</str>
<str name="buildOnCommit">true</str>
<str name="field">asug</str>
<str name="suggestAnalyzerFieldType">text_asug</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
</lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/autosuggest">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">autosuggest</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.count">5</str>
<str name="spellcheck.collate">true</str>
</lst>
<arr name="components">
<str>autosuggest</str>
</arr>
</requestHandler>
.
<fieldType name="text_asug" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
</analyzer>
</fieldType>
最佳答案
这里的问题是术语组件对索引标记起作用,用于搜索和查询。因此,如果您进行 unicode 折叠(这就是您所做的),您将存储折叠的文本版本。您将不带重音匹配它,但随后您也将不带重音找回它。
我可以想到两种选择:
1) 在一个字段中存储折叠和非折叠术语。因此,以某种方式让“Têstáccènt”映射到“Test accent|Têstáccènt”。您匹配前缀“Test..”,然后在客户端提取第二个术语。不过,如何做到这一点可能很棘手。
2) 使用Suggester反而。这建立在拼写检查器之上,并且 - 如果我正确阅读文档 - 允许指定替代字段类型,其分析器在建议者的索引/查询期间使用(使用 solrconfig.xml 中几乎没有记录的 queryAnalyzerFieldType 参数)。因此,您的原始文本会以折叠形式复制到建议者中。但是,可以推测,一旦 Suggester 匹配了某些东西,它将返回原始形式。但是,我不确定。主要是因为它被宣传为刚刚诞生的 Lucene/Solr 4.1 的一个特性 AnalyzingSuggester .事实上,这篇文章专门涵盖了您的用例:
With an analyzer that folds or normalizes case, accents, etc. (e.g., using ICUFoldingFilter), the suggestions will match irrespective of case and accents. For example, the query "ame..." would suggest Amélie.
问题是此时您需要自己组装一个完整的示例。很少有指导。但它 (AnalyzingSuggester) 可能是您最好的选择。
关于带有变音符号的 solr autosuggest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732713/
基本上,我想在音序器播放时实时获取并显示 MIDI 音符(轨道、音符和 Octave )的数据。 我希望能够将其添加到以下代码中: Sequencer sequencer = MidiSystem.g
播放我使用的是 AVAudioUnitSampler: sampler.stopNote(note, onChannel: channel) 但要停止我不想使用:
一个接一个地弹奏音符的最佳方式是什么?这是我现在拥有的最实用的代码。 let majorScale = [60, 62, 64, 65, 67, 69, 71, 72] for i i
我正在尝试构建一个程序,使用 Java Sound API (javax.sound.midi) 在合成器播放时在屏幕上显示 MIDI 音符。 MIDI 文件需要从磁盘加载,但我在将音序器连接到合成器
我已经搜索过并且已经完成了一个可以播放 MIDI 音符的 OS X 应用程序,但是当我在 iOS 中尝试时,没有任何反应。这是核心代码: AUGraph graph; AudioUnit synthU
我正在开发一个 iOS 音乐应用程序(用 C++ 编写),我的模型看起来或多或少像这样: --Song ----Track ----Track ------Pattern ------Pattern
我正在尝试构建一个系统,该系统将能够处理某人吹口哨的记录并输出注释。 谁能推荐一个开源平台,我可以将其用作音符/音高识别和波形文件分析的基础? 提前致谢 最佳答案 正如其他许多人已经说过的那样,FFT
我正在尝试使用 AUSampler 音频单元 在 sf2 文件的帮助下播放 midi 音符。我能够使用 MusicDeviceMIDIEvent 函数开始和停止音符,如下所示。 noteCommand
我需要在我的应用中同时播放多个轨道。音轨可以是普通音频文件或一组 MIDI 音符。因此,我配置了音频图并将各种音频单元(文件播放器 AU 和采样器 AU)连接到多 channel 混音器,其输出连接到
我正在开发一个适用于 iOS 的琶音器应用程序,它能够将无限的音符序列发送到外部 MIDI 兼容的硬件合成器。我使用 AudioKit 来接收和发送 MIDI 信息。 我的工作室设置包括 E-RM 多
我正在对一种似乎是带有音色库的 MIDI 的音乐格式进行逆向工程。 但是我无法使我的实现听起来正确,因为我不知道如何以给定的 MIDI 音符播放音库中的样本(我只是以它们的原始 khz 播放它们)。
澄清一下:我不想生成 MIDI 文件,也不想播放 MIDI 文件,我希望即时播放 MIDI 音符。 我尝试使用 https://github.com/mudcube/MIDI.js作为 MIDI 库,
我正在开发一个具有多个“触摸区域”的玩具,这些区域用作我的合成器的输入。 使用 oscillatorBank 我可以轻松地开始和停止音符。 在常规键盘中,每个 Midi 音符只有 1 个键,因此“重新
正在为 android 开发一个简单的键盘。我发现来自 Google 的 android-midi-lib 非常有用和强大,但在我看来它只能播放 midi 文件,但不能在键盘上按下时播放实时 midi
所以我觉得自己像个白痴,因为我必须在这里发帖来解决可能是简单的修复问题。我正在编写一个将 MIDI 发送到另一个应用程序的 iOS 应用程序。对于我的第一个概念证明,我试图在我的 iPhone 上向
我正在制作一个 C# 程序,它应该从 MIDI 文件中读取每个音符并获取音符的长度和速度,但我不知道该怎么做... 我正在使用 DryWetMidi图书馆,但还有其他图书馆吗? 最佳答案 以 DryW
我正在制作一个 C# 程序,它应该从 MIDI 文件中读取每个音符并获取音符的长度和速度,但我不知道该怎么做... 我正在使用 DryWetMidi图书馆,但还有其他图书馆吗? 最佳答案 以 DryW
我希望使用 Swift 在 iOS 应用程序上播放单个 midi 音符。 这是我目前所拥有的,但不幸的是,这会因错误而崩溃。 func initAudio(){ let engine = AV
我儿子弹奏的弦乐器听起来非常走调。我更希望他学习一些简单的 Python 编程来演奏真正听起来像 do-re-mi 的 do-re-mi 音符。 首先,我想在 Python 上玩 do-re-mi,每
我正在使用 Arduino Yun 和 MIDI 转 USB 接口(interface),我的目标是在已安装的 Linux 操作系统上读取传入的 MIDI 音符。 目标是让 Yun 上的计算机读取音符
我是一名优秀的程序员,十分优秀!