Php 拼写检查短语
我在想办法做两套拼写检查 处理文档中常见单词拼写检查查询的程序。另一个是处理拼写检查的查询,比如作者姓名,可以是多个单词。我希望它能起作用,这样即使他们离作者的名字很近,也能显示出建议;但是对于拼写错误的建议要求单词距离更近 现在我有一个拼写的通用字段,但是它做了很多标记化,这会分解短语;所以我不能用它来进行短语匹配 以下是拼写检查组件:Php 拼写检查短语,php,search,solr,solarium,Php,Search,Solr,Solarium,我在想办法做两套拼写检查 处理文档中常见单词拼写检查查询的程序。另一个是处理拼写检查的查询,比如作者姓名,可以是多个单词。我希望它能起作用,这样即使他们离作者的名字很近,也能显示出建议;但是对于拼写错误的建议要求单词距离更近 现在我有一个拼写的通用字段,但是它做了很多标记化,这会分解短语;所以我不能用它来进行短语匹配 以下是拼写检查组件: <searchComponent name="spellcheck" class="solr.SpellCheckComponent" startup=
<searchComponent name="spellcheck" class="solr.SpellCheckComponent" startup="lazy">
<!-- <str name="queryAnalyzerFieldType">textSpell</str> -->
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">spell</str>
<str name="classname">solr.DirectSolrSpellChecker</str>
<str name="distanceMeasure">internal</str>
<float name="accuracy">0.65</float>
<int name="minPrefix">0</int>
<int name="maxEdits">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">3</int>
<float name="maxQueryFrequency">0.0005</float>
<float name="thresholdTokenFrequency">.001</float>
<str name="buildOnCommit">true</str>
</lst>
<!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
<lst name="spellchecker">
<str name="name">wordbreak</str>
<str name="classname">solr.WordBreakSolrSpellChecker</str>
<str name="field">spell</str>
<str name="combineWords">true</str>
<str name="breakWords">true</str>
<int name="maxChanges">1</int>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
违约
拼写
solr.DirectSolrSpellChecker
内部的
0.65
0
1.
5.
3.
0.0005
.001
真的
断字
solr.WordBreakSolrSpellChecker
拼写
真的
真的
1.
真的
以及实际的拼写字段:
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<field name="spell" type="textSpell" indexed="true" stored="true" multiValued="true"/>
对单独的令牌进行拼写检查。您可以在
solr.removedUpplicateStokenFilterFactory
之前将solr.ShingleFilterFactory
添加到分析中,以生成短语标记