`
xiajin2080
  • 浏览: 36965 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
  • Airflare: 你这也不对啊,各种报错啊!DocumentHelper哪来的啊 ...
    XML读写
  • myali88: 为什么我用$.getJSON请求返回的始终是一个JSON格式的 ...
    jQuery+JSON

compass关键字匹配

 
阅读更多
	Compass compass = compassTemplate.getCompass();
		CompassSession session = compass.openSession();
		CompassQueryBuilder queryBuilder = session.queryBuilder();
		CompassBooleanQueryBuilder boolQuery = queryBuilder.bool();
		List list = new ArrayList();
		
		//查询一个属性
		CompassHits hits1 = session.queryBuilder().queryString("name:" + queryString).toQuery().hits();

		// 查询任意个属性
		boolQuery.addShould(queryBuilder.queryString("name:" + queryString).toQuery());
		boolQuery.addShould(queryBuilder.queryString("description:" + queryString).toQuery());
		CompassHits hits2 = boolQuery.toQuery().hits();

		// 查询所有的属性
		CompassHits hits = queryBuilder.queryString(queryString).toQuery().hits();

		//查询结果处理
		System.out.println("queryString:" + queryString);
		System.out.println("hits:" + hits.getLength());
		for (int i = 0; i < hits.length(); i++) {
			Product hit = (Product) hits.data(i);
			list.add(hit);
		}
参考:
CompassQueryBuilder queryBuilder=session.queryBuilder();
CompassBooleanQueryBuilder boolQuery=queryBuilder.bool();
//必须匹配
boolQuery.addMust(queryBuilder.queryString(type+":"+queryString).toQuery());
//必须不匹配
boolQuery.addMustNot(queryBuilder.queryString(type+":"+queryString).toQuery());
//或者匹配 也许没有 
boolQuery.addShould(queryBuilder.queryString(type+":"+queryString).toQuery());
分享到:
评论

相关推荐

    lucene 搜索引擎 compass

    在这个例子中,使用了`StandardAnalyzer`作为分析器,它会对关键字进行分词处理,以便匹配索引中的关键词。`Query`对象创建后,可以通过`IndexSearcher`执行搜索,返回的结果集是`Hits`对象,包含所有匹配的文档及其...

    基于Compass2.2与Spring 结合建立索引的实例

    我们可以采用上述步骤,在项目启动时自动加载所有项目的索引信息,当用户输入关键字进行搜索时,通过Compass的查询接口返回匹配的结果。 具体实现上,可以先定义一个`ProjectService`接口及其实现类,利用Spring的...

    rust-string-match:Rust 中字符串的匹配

    - **模式匹配**:Rust 的 `match` 关键字可以用来进行模式匹配,包括字符串模式。例如,你可以使用 `match` 来检查字符串是否包含特定前缀或后缀。 ```rust let s = "hello"; match s.starts_with("hel") { ...

    全文检索技术(自己总结)

    3. **查询器**:用户通过输入关键词,查询器在索引中查找匹配项,返回相关的搜索结果。 对于中文这样的语言,由于没有明显的词边界,需要使用**中文分词器**来解析语句。分词器的工作复杂性在于需要识别词语的正确...

    Lucene入门指南

    - **Compass**:Compass 是一个强大的对象/搜索引擎映射 (OSEM) 框架,支持事务管理和类似于 Google 的简单关键字查询语言。它提供了 Lucene 抽象层,使得开发者能够更方便地进行对象与搜索引擎之间的映射。 #### ...

    the-book:Rust编程语言代码

    代码实现 1.入门1.1。安装1.2。你好,世界! 1.3。您好,货运! 2....设置一个新项目2.2。处理猜测2.3。生成一个秘密号码2.4。比较猜测与秘密号码2.5。允许使用循环进行多个猜测 3....使用关键字将路径带入范围7.5。将模块

    Solr3.5开发应用指导

    3. **基于Compass+Lucene实现站内搜索**:适合于数据库驱动的应用场景,尤其是用于替代传统的SQL查询方式,例如使用`LIKE '%expression%'`来进行模糊匹配。 **1.2 Solr的特性** - **1.2.1 Solr使用Lucene并且进行...

    sublimetext_settings:我的默认Sublime Text用户设置

    5. **括号匹配**:括号匹配功能能帮助快速定位代码块的开始和结束,JavaScript中尤其常见的是花括号({})的匹配。 6. **代码折叠**:通过设置,可以方便地折叠或展开代码块,对于处理复杂的函数和模块很有帮助。 7....

    联系人列表

    例如,当用户输入搜索关键字时,JavaScript可以实时更新列表,只显示匹配的联系人。 接下来,我们可能会遇到的数据结构问题。为了有效地存储和操作联系人信息,开发者通常会使用数组或更高级的数据结构,如Map或Set...

    编译器

    3. **语义分析**:在语法正确的基础上,编译器会进一步检查程序的逻辑含义,比如类型匹配、变量声明等,确保程序的语义是正确的。这个阶段也会进行类型检查和符号表的管理。 4. **中间代码生成**:编译器可能会生成...

    jstips:这是关于有用的JS技巧!

    - `querySelector` 和 `querySelectorAll` 用于选择DOM元素,前者返回第一个匹配的元素,后者返回所有匹配的元素数组。 12. **迭代器和生成器** - `for...of` 循环用于遍历可迭代对象,如数组、Set、Map。 - ...

    CSharp

    9. **版本控制**:C# 不断更新以适应新的编程需求,例如C# 8.0引入了默认接口实现、模式匹配等新特性,C# 9.0增加了nullable引用类型和目标类型推断等。 10. **跨平台支持**:随着.NET Core的推出,C# 可以在多种...

Global site tag (gtag.js) - Google Analytics