Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模糊匹配的Solr/lucene项中的最大字符数_Lucene_Solr_Fuzzy Search - Fatal编程技术网

模糊匹配的Solr/lucene项中的最大字符数

模糊匹配的Solr/lucene项中的最大字符数,lucene,solr,fuzzy-search,Lucene,Solr,Fuzzy Search,我正在尝试与Solr进行模糊匹配 在我的文档索引名字段中,我提到了“MYNEWORGANIZATION20SEP2011”-实际上是“MYNEWORGANIZATION20SEP2011”,但我删除了空格和其他字符 现在上面的单词(不带空格)如果我直接作为查询“MYNEWORGANIZATION20SEP2011”进行搜索,Solr将得到一个结果作为上面的文档ID,完美 但如果我从这个字符串中删除两个字符,并在查询中提供“MYNEWORGANIZATION20SEP20~0.8”,我将得到0个结

我正在尝试与Solr进行模糊匹配

在我的文档索引名字段中,我提到了“MYNEWORGANIZATION20SEP2011”-实际上是“MYNEWORGANIZATION20SEP2011”,但我删除了空格和其他字符

现在上面的单词(不带空格)如果我直接作为查询“MYNEWORGANIZATION20SEP2011”进行搜索,Solr将得到一个结果作为上面的文档ID,完美

但如果我从这个字符串中删除两个字符,并在查询中提供“MYNEWORGANIZATION20SEP20~0.8”,我将得到0个结果

对于我的新查询,MYNEWORGANIZATION20SEP20与主文档数据的距离为2-因此%match应大于90%match,因此它仍应搜索数据(在我的查询中,我仅指定80%match)

顺便说一句,如果我使用first_name作为6-7个字符,如“rushik”,并提供模糊查询,如“rushik~0.75”,搜索工作正常并返回数据

在上述两种情况下,我都使用字段类型作为“text_general”-使用solr 3.3

我们在Solr中对模糊搜索有任何字符限制吗?或者它可以在任何地方配置?-我使用默认的Solr配置,在solrconfig.xml中没有任何更改

有没有更好的方法来搜索“我的新组织2011年9月20日”之类的字符串,而不需要手动删除空格

谢谢,
Rushik.

在你的领域里,索引时间分析是怎么做的?
文本常规字段通常经过空白标记器、停止字过滤器、字分隔符和小写过滤器,在这种情况下,索引字段是完全不同的。
从我的新组织2011年9月20日->我的新组织2011年9月20日的转换是否由您在编制索引之前完成?
此外,最重要的模糊搜索不进行查询时间分析

您可能希望将字段类型用作字符串或小写字段类型,例如

    <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
    </fieldType>


并使用小写字母测试查询。

您能验证降低所需的相似性是否可以找到结果吗?我验证到0.2,0.1,这两个值肯定应该匹配,但仍然不匹配。是的,转换我的新组织2011年9月20日->MYNEWORGANIZATION20SEP2011是在索引之前完成的(在我的输入csv文件级别上).my current字段同时具有小写和关键字标记器工厂。问题是MYNEWORGANIZATION20SEP2011是否存储在索引中(标记器无法对上述字符串上的任何标记进行罚款),如果我与MYNEWORGANIZATION20SEP~0.9匹配,它是否会返回主文档。如果应用了小写筛选器,搜索MYNEWORGANIZATION20SEP将永远不会返回任何结果。模糊搜索没有任何分析。此外,MYNEWORGANIZATION20SEP的百分比也会出现。81因此0.9也不会与之匹配。请尝试myneworganization20sep~0.8Perfect!!它成功了。。我在分析仪上应用了小写过滤器,在使用fuzzy给出“myneworganization”后,它工作正常,非常感谢。