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
Solr:多词同义词_Solr_Synonym - Fatal编程技术网

Solr:多词同义词

Solr:多词同义词,solr,synonym,Solr,Synonym,我正在开发一组同义词,您可以在其中找到一些多词表达式,例如: 黑莓=>黑莓 在分析阶段,使用/admin/analysis.jsp工具,我可以看到结果是正确的 “quiero una black berry”等查询返回以下序列: org.apache.solr.analysis.StandardTokenizerFactory{luceneMatchVersion=LUCENE_36}: position 1 2 3 4 term text quiero una blac

我正在开发一组同义词,您可以在其中找到一些多词表达式,例如:

黑莓=>黑莓

在分析阶段,使用/admin/analysis.jsp工具,我可以看到结果是正确的

“quiero una black berry”等查询返回以下序列:

org.apache.solr.analysis.StandardTokenizerFactory{luceneMatchVersion=LUCENE_36}:

position    1   2   3   4
term text   quiero  una black   berry
startOffset 0   7   11  17
endOffset   6   10  16  22
type    <ALPHANUM>  <ALPHANUM>  <ALPHANUM>  <ALPHANUM>
位置1 2 3 4
术语文本quiero una黑浆果
开始设置0 7 11 17
内偏移6 10 16 22
键入您可以通过修改FieldQParser插件来解决这种情况的命令

无论如何,由于这篇文章是在3年前发表的,我想知道Solr是否有办法解决这个问题,避免扩展插件


谢谢。

基于此,您应该搜索带引号的“black berry”,因为不带引号使用它会导致OR查询,即black或berry

基于此,您应该搜索“black berry”在Solr-6.5.0中,如果使用引号,则不使用引号会导致OR查询,即black或berry

,您可以通过设置以下参数启用查询时间多术语同义词

从文件

sow参数按空格分割:如果设置为false, 将为文本分析提供空格分隔的术语序列 一次,使运行的分析过滤器功能正常 术语序列,例如多词同义词和带状疱疹。默认值 to true:文本分析针对每个单独的对象分别调用 以空格分隔的术语

[同义词.txt]

black berry => blackberry
[示例]

q=black berry
&sow=false
&debug=query
[调试响应]

<lst name="debug">
<str name="rawquerystring">black berry</str>
<str name="querystring">black berry</str>
<str name="parsedquery">_text_:blackberry</str>
<str name="parsedquery_toString">_text_:blackberry</str>
<str name="QParser">LuceneQParser</str>
</lst>

黑浆果
黑浆果
_文本:黑莓
_文本:黑莓
LuceneQParser

现在您可以从调试响应中看到,我搜索了black berry,但同义词过滤器工厂映射到我在synonym.txt中提到的单词。

在Solr-6.5.0中,您可以通过设置以下参数来启用查询时间多术语同义词

从文件

sow参数按空格分割:如果设置为false, 将为文本分析提供空格分隔的术语序列 一次,使运行的分析过滤器功能正常 术语序列,例如多词同义词和带状疱疹。默认值 to true:文本分析针对每个单独的对象分别调用 以空格分隔的术语

[同义词.txt]

black berry => blackberry
[示例]

q=black berry
&sow=false
&debug=query
[调试响应]

<lst name="debug">
<str name="rawquerystring">black berry</str>
<str name="querystring">black berry</str>
<str name="parsedquery">_text_:blackberry</str>
<str name="parsedquery_toString">_text_:blackberry</str>
<str name="QParser">LuceneQParser</str>
</lst>

黑浆果
黑浆果
_文本:黑莓
_文本:黑莓
LuceneQParser
现在,您可以从调试响应中看到,我搜索了black berry,但同义词过滤器工厂映射到我在synonym.txt中提到的单词