文件考虑一个简单的表:如何找到SOLR查询和详细的字符串匹配
CREATE TABLE transactions (
enterprise_id uuid,
transaction_id text,
state text,
PRIMARY KEY ((enterprise_id, transaction_id))
和Solr核心默认,自动生成的参数。
我该如何构建一个Solr查询,该查询将在此表中找到具有state
值与输入完全匹配的记录,考虑到state
可以是任意字符串?
我试过这个状态值为a+b
。这正常工作与q=state:"a+b"
,而是创造了一个“短语查询”:
"rawquerystring": "state:\"a+b\"",
"querystring": "state:\"a+b\"",
"parsedquery": "PhraseQuery(state:\"a b\")",
"parsedquery_toString": "state:\"a b\"",
所以,如果我使用查询像q=state:"a(b"
,其结果都是相同的措辞查询,发现记录与state
相同的记录被发现a+b
。这是我无法接受的,因为我需要一个完全匹配。
我通过https://cwiki.apache.org/confluence/display/solr/Other+Parsers,并尝试使用q={!term f=state}a+b
或q={!raw f=state}a+b
,但都没有发现我的样本交易记录。
'StrField'是比一个标记,TY碴更容易:) –