Select 查询在 solr 中使用 2 个或更多不带双引号的单词进行搜索
Select query for search with 2 or more words without double quotes in solr
我有一个名为标题的列。我想搜索这个专栏。当我使用 title:'sport'
或 title:"sport"
这样的单个词时没有问题。两者都给出相同数量的记录。
我的问题是当我搜索 2 个或更多不带双引号的词时(带双引号给出准确结果例如:title:"sport education"
)。
title:'sport education'
- 返回不相关的记录(更多标题没有体育或教育词)
+title:'sport education'
-returns相同条数的搜索title:'sport' / title:"sport"
.
我应该怎么做才能使列中至少有一个搜索词必须匹配?
注:Solr版本6.3.0
提前致谢!
我敢打赌您正在寻找的是以下参数链:
http://$solr_host:8983/solr/magazines/select&q=sport+education&df=title&q.op=OR
我来为你解读一下:
- q=运动+教育。您可以自由使用这种自由形式的查询。
- df=标题。您在此处指定搜索的默认字段。
- q.op=OR(这是默认值,可以随意省略)。
$q
将根据 $df
字段类型进行标记,子句将通过 OR 连接,如下所示:title:sport OR title:education
更多信息可以关注Common Query Parameters or Local Parameters in Queries.
解析您的查询后 title:'sport education'
将如下所示
title:sport
text:education
单引号不能用作双引号。
因此在默认字段 df
中搜索术语 education
(文本,在 solr-config 文件中检查)
在模式文件中,您可能已经使用 copyfield
将许多其他字段复制到文本中,因此您可以获得其他文档(其中包含教育的字段)
您应该指定字段名称以在不同的字段中搜索不同的术语,例如title:sport name:sachin
。
在使用双引号 title:"sport education"
的短语查询中,这会为您提供标题字段中包含 sport education
的所有文档。
我有一个名为标题的列。我想搜索这个专栏。当我使用 title:'sport'
或 title:"sport"
这样的单个词时没有问题。两者都给出相同数量的记录。
我的问题是当我搜索 2 个或更多不带双引号的词时(带双引号给出准确结果例如:title:"sport education"
)。
title:'sport education'
- 返回不相关的记录(更多标题没有体育或教育词)
+title:'sport education'
-returns相同条数的搜索title:'sport' / title:"sport"
.
我应该怎么做才能使列中至少有一个搜索词必须匹配?
注:Solr版本6.3.0
提前致谢!
我敢打赌您正在寻找的是以下参数链:
http://$solr_host:8983/solr/magazines/select&q=sport+education&df=title&q.op=OR
我来为你解读一下:
- q=运动+教育。您可以自由使用这种自由形式的查询。
- df=标题。您在此处指定搜索的默认字段。
- q.op=OR(这是默认值,可以随意省略)。
$q
将根据$df
字段类型进行标记,子句将通过 OR 连接,如下所示:title:sport OR title:education
更多信息可以关注Common Query Parameters or Local Parameters in Queries.
解析您的查询后 title:'sport education'
将如下所示
title:sport
text:education
单引号不能用作双引号。
因此在默认字段 df
中搜索术语 education
(文本,在 solr-config 文件中检查)
在模式文件中,您可能已经使用 copyfield
将许多其他字段复制到文本中,因此您可以获得其他文档(其中包含教育的字段)
您应该指定字段名称以在不同的字段中搜索不同的术语,例如title:sport name:sachin
。
在使用双引号 title:"sport education"
的短语查询中,这会为您提供标题字段中包含 sport education
的所有文档。