Solr luceneMatchVersion 语法

Solr luceneMatchVersion syntax

我有 Solr 4.10,我在上面有一个集合 solorconfig.xml 具有 <luceneMatchVersion> 的值,如下所示:

<luceneMatchVersion>4.7</luceneMatchVersion>

这是正确的吗?我看到其他具有值的示例,例如 LUCENE_35 我还需要知道的是,我如何从当前的 Solr 版本中表达 LUCENE_xx

如果您要重建索引,那么两个数字应该匹配。您可能想让它们不同的唯一原因是,如果您使用 Lucene 4.7 创建索引,那么您将拥有

<luceneMatchVersion>4.7</luceneMatchVersion>

然后,你把lucene升级到4.10。

现在,如果 4.7 和 4.10 之间的变化在分析方面有不同的地方(你在两个版本中分析了相同的句子,结果得到不同的输出),那么,你可能想要保留版本号为 4.7,否则某些包含受影响术语的查询可能无法正常工作(因为它们在索引时以不同于查询时的方式进行分析)。您必须评估该问题的严重程度。

这就是为什么建议升级,将设置更改为当前号码,并重新索引。这样你一定可以避免任何问题。

你应该使用:

<luceneMatchVersion>4.10.4</luceneMatchVersion>

我建议您检查当前的 solr 版本,在我的例子中是 4.10.4。

如果有人在使用 Drupal,Search API Solr (search_api_solr) 模块在 /sites/all/modules/search_api_solr/solr-conf/ 中有按版本分类的配置模板。

模板 README.md 声明如下:

The solr-conf-templates directory contains config-set templates for different Solr versions.

These are templates and are not to be used as config-sets!

To get a functional config-set you need to generate it via the Drupal admin UI or with drush solr-gsc. See README.md in the module directory for details.

模块的 README.md 列出了这些指令:

  1. Make sure you have Apache Solr started and accessible (i.e. via port 8983). You can start it without having a core configured at this stage.
  2. Visit Drupal configuration (/admin/config/search/search-api) and create a new Search API Server according to the search_api documentation using "Solr" as Backend and the connector that matches your setup. Input the correct core name (which you will create at step 4, below).
  3. Download the config.zip from the server's details page or by using drush solr-gsc with proper options, for example for a server named
    "my_solr_server": drush solr-gsc my_solr_server config.zip 8.4.
  4. Copy the config.zip to the Solr server and extract.

我为 8.x 生成了一个配置文件,它使用了这个:

<luceneMatchVersion>${solr.luceneMatchVersion:LUCENE_80}</luceneMatchVersion>