Search Solr排序搜索首先使用AND运算符,然后使用OR运算符搜索结果

Search Solr排序搜索首先使用AND运算符,然后使用OR运算符搜索结果,search,solr,operators,Search,Solr,Operators,假设我有一个短语,比如: 飓风温斯顿斐济救济呼吁 首先我想显示搜索结果中的所有单词,基本上是and搜索,然后显示至少有一个单词的所有结果,所以是OR搜索 有可能吗?这应该怎么做 首先,我将看到如下结果: 飓风温斯顿斐济救济呼吁 呼吁对“温斯顿-斐济”气旋进行救援 呼吁斐济救济温斯顿气旋 ... 结果如下: 气旋 维德斯顿 上诉 斐济 如果你对当前的关联机制不满意,你可以通过增加内容的接近度来改进它。 使用eDiscoveryMax,您将查找pf和ps参数,如中所述。 例如,如果您正在查询一个

假设我有一个短语,比如:

飓风温斯顿斐济救济呼吁

首先我想显示搜索结果中的所有单词,基本上是and搜索,然后显示至少有一个单词的所有结果,所以是OR搜索

有可能吗?这应该怎么做

首先,我将看到如下结果:

飓风温斯顿斐济救济呼吁
呼吁对“温斯顿-斐济”气旋进行救援
呼吁斐济救济温斯顿气旋
...

结果如下:

气旋
维德斯顿
上诉
斐济


如果你对当前的关联机制不满意,你可以通过增加内容的接近度来改进它。 使用eDiscoveryMax,您将查找pfps参数,如中所述。 例如,如果您正在查询一个名为text的字段,您的查询将如下所示:

http://localhost:8983/solr/<YOUR_COLLECTION>/select?defType=edismax&q=Cyclone Winston Fiji Relief Appeal&pf=text&qf=text^3&ps=10
http://localhost:8983/solr//select?defType=edismax&q=Cyclone 温斯顿斐济救济上诉&pf=text&qf=text^3&ps=10

短语查询将增加3(请选择适合您需要的权重),10是slop(这里也选择您的slop)。

如果您对当前的关联机制不满意,您可以通过增加接近度来改进它。 使用eDiscoveryMax,您将查找pfps参数,如中所述。 例如,如果您正在查询一个名为text的字段,您的查询将如下所示:

http://localhost:8983/solr/<YOUR_COLLECTION>/select?defType=edismax&q=Cyclone Winston Fiji Relief Appeal&pf=text&qf=text^3&ps=10
http://localhost:8983/solr//select?defType=edismax&q=Cyclone 温斯顿斐济救济上诉&pf=text&qf=text^3&ps=10
其中短语查询将增加3(请选择适合您需要的权重),10是slop(这里也选择您的slop)。

Solr(Lucene实际上)没有and和OR命令-它们实际上是每个术语的必须、应该和不应该命令。您所说的应该与标准的应该用例相匹配,即当您不做任何特殊的事情时会发生什么。术语匹配越多,相关性越强

所以,如果你不明白这一点,另一个问题就是。您可以启用调试以查看实际发生的情况(尽管理解输出需要时间)。一种情况是,您正在使用eDiscoveryMax并在多个字段中搜索来自不同来源的匹配项。然后只使用最佳场匹配,其他匹配将被阴影覆盖。使用tie参数可以帮助实现这一点。

Solr(Lucene实际上)没有AND和OR命令-它们实际上是每个术语的必须、应该和不应该命令。您所说的应该与标准的应该用例相匹配,即当您不做任何特殊的事情时会发生什么。术语匹配越多,相关性越强

所以,如果你不明白这一点,另一个问题就是。您可以启用调试以查看实际发生的情况(尽管理解输出需要时间)。一种情况是,您正在使用eDiscoveryMax并在多个字段中搜索来自不同来源的匹配项。然后只使用最佳场匹配,其他匹配将被阴影覆盖。使用tie参数可以帮助实现这一点