Solr Word DelimiterFilter之前的ElisionFilter

Solr Word DelimiterFilter之前的ElisionFilter,solr,lucene,Solr,Lucene,在此Solr文档页面上,我看到以下评论: 注意:最好在安装之前使用ElisionFilter WordDelimiterFilter。这将防止非常慢的短语查询 有人能给我解释一下为什么会导致语速慢的问题吗? 实际上,我的WordDelimiterFilter配置可以在文件中工作,我不认为我需要ElisionFilter,因为它已经包含在WordDelimiterFilter配置中 我只是想知道对性能有什么影响…基于,如果在WordDelimiterFilter之前有ElisionFilter,

在此Solr文档页面上,我看到以下评论:

注意:最好在安装之前使用ElisionFilter WordDelimiterFilter。这将防止非常慢的短语查询

有人能给我解释一下为什么会导致语速慢的问题吗? 实际上,我的WordDelimiterFilter配置可以在文件中工作,我不认为我需要ElisionFilter,因为它已经包含在WordDelimiterFilter配置中

我只是想知道对性能有什么影响…

基于,如果在WordDelimiterFilter之前有ElisionFilter,那么
l'avion
将只生成一个令牌
avion
。但是,如果ElisionFilter不存在,那么根据WordDelimiterFilter的设置,它可能会生成多个类似的令牌

l, avion, lavion
由于
avion
无论如何都是由WordDelimiterFilter生成的,因此您可以将其视为ElisionFilter已经包含在其中

我猜关于慢速短语查询的注释意味着如果搜索了
l'avion
,那么如果没有ElisionFilter,它将搜索多个令牌

更新:这篇文章明确了问题:它说
,我们发现“艺术”这个词是作为短语查询“艺术”来搜索的。短语查询比布尔查询慢得多,因为搜索引擎必须将短语中单词的位置索引读取到内存中,并且需要更多的处理。


所以我猜问题是用双引号搜索,比如
“l'avion”

好的,我明白了,但是搜索3个令牌真的比搜索一个令牌慢吗?