- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在Lucene查询语法中,我想在有效的查询中将*和〜组合在一起,类似于:
bla〜*//无效的查询
含义:请匹配以“bla”开头的单词或类似于“bla”的单词。
更新:
我现在要做的是在输入很少的情况下使用以下代码(SOLR模式的代码段):
<fieldtype name="text_ngrams" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
最佳答案
我不认为Lucene支持这样的事情,也不相信它有一个简单的解决方案。
“模糊”搜索不适用于固定数量的字符。 bla~
可能与blah
相匹配,因此必须考虑整个术语。
您可以做的是实现查询扩展算法,该算法采用查询bla~*
并将其转换为一系列OR查询
bla* OR blb* OR blc OR .... etc.
car
和
cars
。
cars
的搜索将转换为
car OR cars
。这已在至少一个搜索引擎中成功应用于我的语言,但显然实现起来并不容易。
关于Lucene查询: bla~* (match words that start with something fuzzy),如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2631206/
我不知道我的代码有什么问题: Register 这是确切的错误: Error: Duplicate entry 'arnold-blabla@gmail.c-1987--22' fo
具体来说,我正在尝试运行 dotnet tool install --global Project2015To2017.Migrate2017.Tool,如此处解释 - https://github.
这个问题在这里已经有了答案: C++ templates specialization syntax (2 个答案) 关闭 6 年前。 我偶然发现了以下内容: template<> inline b
假设我有这段代码: (function(global) { function Bar(foo) { this.foo = foo; return this;
我用模拟类编写了一个小测试。当我运行它时,首先我得到一个警告,说调用了一个无趣的模拟函数,然后测试失败,因为没有满足预期,即至少调用了一次模拟函数。有趣的是,当我看到上面的警告消息时,该函数被调用了。
假设我有以下伪代码。在两个文件中导入 bla 是指 Bla 的 2 个实例还是它们指的是同一个实例?换句话说,我可以像这样在 Python 中连接和断开不同文件中的单个连接吗? bla.py impo
好吧,我想我明白了 Difference between jQuery.extend and jQuery.fn.extend? 因为一般扩展可以扩展任何对象,并且 fn.extend 用于可以使用一
我尝试使用命令“java -jar Filename.jar”运行 .jar 文件,但总是收到错误消息“无法找到主类:bla.bla.yada”。我使用 Maven 构建整个应用程序,并在 MANIF
以下之间的速度有什么区别: $('', {id: 'bla', click: func, css: { opacity:0.5 } } 并且全部内联完成? $('').click(func); jqu
当返回一个 zip 文件(字节数组)供下载时,ie7 和 ie8 阻止下载并说“帮助保护你的 bla bla”。然后当我点击这个栏并点击“下载文件”时。页面重新加载后,下载未开始。因为我的下载仅在单击
我有这个: #define BLA 10 #define BLABLA (0x3E+BLA) 我得到: error: unable to find numeric literal operator '
在我的代码库上运行 CppCheck 会产生一些样式警告。例如。在 void foo(int& x) { x = 0; } void bar() { int y; foo(y); } 它给
在一个目录中我有 24 个文件,但是当我运行上述命令时它只生成一个文件,但如果我输入 echo $(ls) 它会列出所有文件 最佳答案 猜猜,你混淆了文件扩展。试试这个: echo $(ls *.bl
我创建了一个包含一些非常大的 .cs 文件的程序。所以我试图通过使用部分类来拆分其中一个。所以我创建了第二个文件,里面有相同的类名和相同的命名空间。我从一个文件中剪切了一些函数并将其粘贴到第二个文件中
有没有办法使用 setError for Edittext 的资源? 我也尝试了 setError.(getString(R.string.bla)) 和 context.getString(R.st
当你运行 perl -e "Bla->new" ,你会得到这个众所周知的错误: Can't locate object method "new" via package "Bla" (perhaps
我有一段代码是这样的。这段代码有效,但看起来很糟糕。 if(typeof(d.object) != "undefined"){ if(typeof(d.object.property) != "u
在尝试深入研究 this question 等案例背后的机制之后暴露了,我仍然不明白为什么下面代码中的第三行只生成警告,而第二行是错误。 int main() { const char* co
在Lucene查询语法中,我想在有效的查询中将*和〜组合在一起,类似于: bla〜*//无效的查询 含义:请匹配以“bla”开头的单词或类似于“bla”的单词。 更新: 我现在要做的是在输入很少的情况
我正在使用 Lucene API,我在这行代码中收到以下错误: import org.apache.lucene.document.Document; import org.apache.lucene
我是一名优秀的程序员,十分优秀!