有人可以告诉我有什么区别:
q=word1 word2
和
q="word1 word2"
我正在尝试匹配使用KeywordTokenizerFactory
分析的关键字“word1 word2”(是的,我的关键字可以有空格),它似乎只有在我在查询中添加引号时才有效。
顺便说一句,我使用Solr扩展Dismax,不知道这是否重要。 语法是:
q="some text"&qf=KeywordField&qf=FrenchtextField
修改
我引用的问题是我有另一个包含fulltexte的字段(分析是基本的,接近FrenchAnalyzer,包括小写过滤器)
我将'HelloWorld'文本编入索引,我可以使用q = helloWoRLD找回它,但不能使用q =“helloWoRLD”:由于我在所有查询中都添加了引号,因此单元测试已被破坏。我不明白q = helloWoRLD和q =“helloWoRLD”之间的区别是什么,因为它仍然是1期搜索权?
答案 0 :(得分:1)
Lucene查询语法使用空格来分隔术语,因此您在“q”和“word2”字段中搜索“word1”但没有指定字段(我不确定当没有指定字段时lucene的行为如何)。
我不太关注你的世界问题所以不能对此发表评论。希望这有帮助