- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 QueryParser 创建查询:
QueryParser parser = new QueryParser(Version.LUCENE_30, "Text", new RussianAnalayzer());
parser.setDefaultOperator(QueryParser.Operator.AND);
Query query = parser.parse(searchString);
当我在单词有变体的地方使用短语时,我得到了“AND”的联合,例如:“term1 term2” -> “term1 AND “term2_1 AND term2_2””。如何在不拆分单词字符串的情况下获得类似“term1 AND”term2_1 OR term2_2“”的查询?
非常感谢。
最佳答案
我不确定我是否理解你。 term2如何拆分成多个term?它只是存储在您正在谈论的变量中的术语列表,例如: term1 = "term1" term2 = "term2_1 term2_2" query = term1 + ""+ term2;
或者它真的只有两个术语,它们会自动拆分(通过分析器或其他东西)?
无论如何,我认为将第二行更改为:
parser.setDefaultOperator(QueryParser.Operator.OR);
//Or just delete this line if you prefer, OR is the default behavior.
并传递给定该行为有意义的查询,例如:
"term1 AND (term2)"
大概相当于:
"term1 AND (term2_1 term2_2)"
关于java - Java 中的 Lucene(QueryParser),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268552/
当我尝试在 Lucene 中搜索诸如“解决方法/修复”之类的内容时,它会抛出此错误: org.apache.lucene.queryparser.classic.ParseException: Can
我正在尝试搜索几个字段,除非我使用术语“BE”,否则它工作正常。在这种情况下,lucene 会简单地忽略该字段。如果我执行如下所示的操作,我会得到正确的结果,并且“查询”对象显示为“+flag:bf
我目前正在使用 QueryParser 搜索方法,但我不想给最终用户太多的控制权。 所以目前如果他们正在寻找这样的作品: The* 我将其传递到 QueryParser.parse() 方法中。 现在
我正在使用 Lucene++ 3.0.3 处理前队友的代码。 有一条评论声称 QueryParser 无法处理“特殊字符”,一种处理方法是用空格替换“特殊字符”: if (((*pos) >= L'A
我正在使用 whoosh 包进行全文模糊匹配。 我当前的代码如下: from whoosh.index import create_in from whoosh.fields import * fro
我是 Lucene 的新手,并试图将原始字符串解析为 Query使用 QueryParser . 我想知道,为什么 QueryParser.Parse()方法需要一个 Analyzer 参数吗? 如果
我正在使用 Lucene.net,但我为 .NET 和 Java 版本都标记了这个问题,因为 API 是相同的,我希望这两个平台上都有解决方案。 我确信其他人已经解决了这个问题,但我还没有找到任何好的
我有一个查询 -license:"CC-BY-NC"AND -license:"CC-BY-ND 4.0 (Int)" 将像这样传递到 PrecedenceQueryParser.parse 中: Q
我读到How to incorporate multiple fields in QueryParser?但我没明白。 目前我有一个非常奇怪的结构,例如: parser = New QueryPars
我有一个查询 -license:"CC-BY-NC"AND -license:"CC-BY-ND 4.0 (Int)" 将像这样传递到 PrecedenceQueryParser.parse 中: Q
我有 2 个 lucene 查询: 1) Term term = new Term(Properties.LUCENE_APPARTMENT_ADDRESS,address); Query termQ
我通过 QueryParser 创建查询: QueryParser parser = new QueryParser(Version.LUCENE_30, "Text", new RussianAna
我正在研究 Lucene,无法区分 QueryParser 和 Term Query。看来他们是一样的。这是真的?如果不是,我应该什么时候使用一个而不是另一个? 最佳答案 不,它们不一样。以下是对它们
我目前不确定 Lucene 中 QueryParser 与 TermQuery 的行为;我正在使用 Lucene 3.6。 在我的示例中,我在同一索引上尝试以下示例,其中相关字段设置为 Field.S
在第 3 行,我收到异常,例如“IOException:读取过去的 eof”和“LookaheadSuccess:应用程序中的错误”。 有什么办法可以避免这种情况吗?我讨厌每次执行搜索时中断并按两次继
我正在使用以下代码(准确地说是 PyLucene)调用 Lucene: analyzer = StandardAnalyzer(Version.LUCENE_30) queryparser = Que
我在我的项目中遇到了以下错误: org.apache.lucene.queryParser.ParseException:无法解析“AMERICAN EXP PROPTY CASLTY INS AND
new QueryParser(.... ).parse (somequery); 它仅适用于字符串索引字段。假设我有一个名为 count 的字段,其中 count 是一个整数字段(在索引字段时我考虑
事情就是这样。我有一个存储在索引中的词,其中包含特殊字符,例如'-',最简单的代码是这样的: Document doc = new Document(); doc.add(new TextField(
这最近一直困扰着我,我似乎无法在任何地方找到合适的解释。 如果我运行一个使用 Query API 构建的查询,它运行得非常好。 TermQuery sourceQuery = new TermQuer
我是一名优秀的程序员,十分优秀!