Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 最小匹配定制_Solr_Lucene - Fatal编程技术网

Solr 最小匹配定制

Solr 最小匹配定制,solr,lucene,Solr,Lucene,我有一个案例,我想这样匹配: 查询:abcd efgh ijkl mnop 在此之后,查询将受到NGram标记器的约束,每个单词被分割成2个gram标记 例如,查询分为: ab、bc、cd、ef、fg、gh、ij、jk、kl、mn、no、op 现在,在匹配时,我希望为单词中的令牌定制最小匹配 我的意思是,默认情况下,当与单词对应的任何一个标记与索引文档匹配时(mm=1),将返回该索引文档。如果我给mm=2,那么任意两个单词中的任何一个标记都需要匹配要返回的索引文档 但我想要的是:仅当任何“m”标

我有一个案例,我想这样匹配:

查询:abcd efgh ijkl mnop

在此之后,查询将受到NGram标记器的约束,每个单词被分割成2个gram标记

例如,查询分为:

ab、bc、cd、ef、fg、gh、ij、jk、kl、mn、no、op

现在,在匹配时,我希望为单词中的令牌定制最小匹配

我的意思是,默认情况下,当与单词对应的任何一个标记与索引文档匹配时(mm=1),将返回该索引文档。如果我给mm=2,那么任意两个单词中的任何一个标记都需要匹配要返回的索引文档

但我想要的是:仅当任何“m”标记都匹配mm=num单词时才返回文档

例如)我希望为索引文档选择至少3个单词中的至少2个标记

似乎Lucene的IndexSearcher做了这个核心部分。我是否需要更改代码或任何其他配置来执行上述操作


提前感谢…

这并不是您想要的,但我猜您的基本问题是“如何确保模糊搜索只返回与原始查询“接近”的内容?”

语法
foo~.8
实现了这一点-请参阅。基本上,.8是编辑(Levenstein)距离除以单词长度的度量


如果你想坚持计算必须匹配的成对数的想法,你可以做一些数学计算,找出最小levenstein距离需要是多少。

Wow nice。我以前听说过莱文斯坦距离。谢谢你的宝贵建议。我会调查的。