jjzjj

booleanquery

全部标签

java - Lucene - 相当于 SQL "IN"关键字

请原谅我的新手问题。我曾尝试搜索答案,但考虑到关键字,搜索此类内容非常困难...我正在使用Lucene5.2.x来索引一组文档,每个文档都有两个字段:id和description。我从系统中的先前查询中获得了一组ids。现在,我想获取有关description的Lucene文本搜索结果,但只能来自ids集合中的文档。如果我在MySQL中(天真地)这样做,我可能会做类似的事情:SELECT*FROMmytableWHEREdescriptionLIKE'blah%'ANDidIN(6345,5759,333,...)ids的集合可能有数万个。使用Lucene的最佳方法是什么?我可以构造一

java - Lucene 6.0!如何实例化 BooleanQuery 并在其中添加其他搜索查询?

如何在Lucene6.x中实例化BooleanQuery?如何使用boolean查询在其中添加其他查询?在Lucene4.x中,我们使用BooleanQuery如下:BooleanQuerybooleanQuery=newBooleanQuery();booleanQuery.add(query1,BooleanClause.Occur.MUST);booleanQuery.add(query2,BooleanClause.Occur.MUST);如何在Lucene6中实现这一点。 最佳答案 BooleanQuery现在是不可变的(

java - Lucene OR 搜索使用 boolean 查询

我有一个包含多个字段的索引,其中一个是字符串字段,我在其中存储产品的类别名称......例如“电子”、“家庭”、“花园”等newStringField("category_name",categoryName,Field.Store.YES));//categoryNameisavaluesuchas"Electronics"我正在执行boolean查询以按名称、价格和类别查找产品,但我不确定如何执行OR搜索以便我可以同时查询两个类别。我当前的查询如下所示:Stringcat="Electronics"TermQuerycatQuery=newTermQuery(newTerm("ca

java - 如何在 Lucene 5.3.x 中使用 BooleanQuery 构建器?

我几乎是lucene的新手,正在尝试对一些查询进行AND运算并显示它们。我搜索了整个网络,但找不到解决此问题的正确方法。boolean查询搜索的解决方案包括BooleanQueryLucene类,但是这个类是deprecatedinLucene5.3.1(我正在使用的那个)这是我的代码的一部分:publicstaticvoidsearchBooleanQuery(StringindexDir,Queryquery1,Queryquery2,Queryquery3,Queryquery4)throwsIOException{IndexReaderrdr=DirectoryReader.o

mysql - 在全文 bool 模式下对多个单词使用减号

我只是用mysql的fulltextbooleanmode做了一堆测试,从我的测试来看,你似乎不能在多个单词上使用减号?例如我有两行..id,name1,2011-12FleerRetroautojordannon2,1999jordannonauto如果我运行以下查询:SELECTauction_id,`name`,descriptionFROMauctionsWHEREMATCH(`name`)AGAINST('+jordan+auto-non'INBOOLEANMODE);两行都没有按预期显示。但是,如果我运行此查询:SELECTauction_id,`name`,descrip

android - 如何在不使用 SELECT 查询的情况下获取 Room 持久数据库中具有 bool 值 true(或 1)的行数?

我正在我的项目中使用Room持久数据库。我有一个表,其中有一个bool值列,如0或1,现在我想要所有值为真(或1)的bool值的计数。我知道我可以通过使用where子句获取所有选定行的计数来使用select查询来实现这一点!但我不想为此使用带有where子句的Select查询,因为它会加载所有行,然后我会得到计数,但我想要计数而不加载任何行!请提出其他简单的解决方案!谢谢! 最佳答案 我终于找到了完美的解决方案!只需在DAO类中添加这个方法如下:@Query("SELECTCOUNT(is_checked)FROMtableWHER

android - 如何在不使用 SELECT 查询的情况下获取 Room 持久数据库中具有 bool 值 true(或 1)的行数?

我正在我的项目中使用Room持久数据库。我有一个表,其中有一个bool值列,如0或1,现在我想要所有值为真(或1)的bool值的计数。我知道我可以通过使用where子句获取所有选定行的计数来使用select查询来实现这一点!但我不想为此使用带有where子句的Select查询,因为它会加载所有行,然后我会得到计数,但我想要计数而不加载任何行!请提出其他简单的解决方案!谢谢! 最佳答案 我终于找到了完美的解决方案!只需在DAO类中添加这个方法如下:@Query("SELECTCOUNT(is_checked)FROMtableWHER