Solr查询中的双引号

问题描述 投票:2回答:2

我无法找出此solr查询中双引号的含义。

查询是q=%2B"My+helper+product"+My+helper+product。它是一个edismax查询

%2B是用于“+”符号,其他+符号用于空格,因为它是一个URI请求,但我不明白什么是双引号和重复。

我是solr的新手,起初它非常压倒性。你能帮帮我吗?

solr lucene
2个回答
3
投票

语法因您使用的查询解析器而异,但edismax解析器支持标准的lucene语法(这是在此处使用的语法)。 edismax处理程序有一个名为qf的参数,它告诉Solr它应该搜索哪些字段(即查询(q)将针对哪些字段运行)。

query syntax for standard lucene queries explains that the + means该术语必须存在。

“+”或必需运算符要求“+”符号后面的术语存在于单个文档的字段中的某处。

要搜索必须包含“jakarta”且可能包含“lucene”的文档,请使用以下查询:

+jakarta lucene

引用wraps a sequence of words that should be found - 即按顺序,而不仅仅是单个术语。

您可以通过键入字段名称后跟冒号“:”来搜索任何字段,然后输入您要查找的术语。

例如,假设Lucene索引包含两个字段,标题和文本,文本是默认字段。如果要查找标题为“正确的方式”的文档,其中包含“不要这样做”的文本,您可以输入:

title:"The Right Way" AND text:go

其他的话就是要点击它们不按顺序排列,但是由于第一个术语是必需的,我认为它们所做的远远不止于在包含这些术语之外的文档中给出更高的分数。单词依次出现。只要“产品”存在,或者内容包含product helper my,这些词就会出现。


2
投票

基本上,Solr中的引号用于创建查询,该查询不会在空格/分隔符上中断。

来自Solr参考:

短语是由双引号括起来的一组单词,例如“hello dolly”

该问题的查询是说,我想查询“我的帮助产品”以及该短语中的所有单词分别在qf(eDisMax查询解析器中的查询字段参数)中搜索。

© www.soinside.com 2019 - 2024. All rights reserved.