每个Lucene doc都是一个配方,每个配方都有成分.

我努力寻找成分,并给出一个结果,说两个成分匹配四个. (例如)

那么如何将这些成分添加到doc中呢?在solr我可以创建多个字段,它会将它们全部保存,我可能做错了,因为它只保存了一个成分.

这也适用于像’tags’这样的字段.

p.s我使用Zend框架,如果它很重要.

Lucene文档支持添加多个同名字段.即你可以反复打电话:
document.add(new Field("name"),value)

所以你这样做:

# (pseudo-code) 
document1.add(new Field("ingredient"),"vanilla") 
document1.add(new Field("ingredient"),"strawBerry") 
index.add(document)

# And then search for
index.search("ingredient","vanilla" && "strawBerry")

你会得到回文件1.但是如果你搜索:

index.search("ingredient","vanilla" && "apple")

你不会得到document1.

如果您搜索:

index.search("ingredient","vanilla" || "apple")

你也可以找回document1.

如果要查看哪些成分匹配,只需将文档上的字段保存为存储字段,然后为每个匹配的文档检索字段列表并将其与用户查询进行比较.

另请注意,默认情况下,添加到文档的具有相同名称的字段的PositionIncrementGap为0.

这意味着,如果你添加:

document1.add(new Field("ingredient"),"chocolate") 
   document1.add(new Field("ingredient"),"orange")

然后它会被视为一种叫做“巧克力橙”的单一成分,可能与之匹配:

index.search("ingredient","chocolate orange")

你可以避免为PositionIncrementGap>设置一个值. 1,将产生:

0场比赛:

index.search("ingredient","chocolate orange")

和1匹配:

index.search("ingredient","chocolate" &&  "orange")

zend-framework – 具有相同性质的多个字段的Lucene索引的更多相关文章

  1. 零基础从头学习Swift一:Swift环境搭建

    据我初步的了解,苹果的相关开发使用的IDE都是Xcode这个软件,我们通过AppStore下载相关的Xcode软件,我使用的是8.1这个版本。为了以后学习的方便,先创建一个工作空间,打开Xcode软件,如下图我们通过File--New--Workspace创建一个工作空间,命名为swift,路径选择自己的文件夹。点击Next这里项目名喔命名为Swift001,语言选择Swift。我们从左侧目录找到main.swift文件,这里又两行代码:我们点击左上角的运行按钮一个简单的环境就这样完成了,学习还在继续。。

  2. 零基础从头学习Swift二:Swift中的变量和常量

    今天Swift学习继续,这里主要介绍下Swift中的变量和常量,自己对Swift的初步了解,感觉Swift对数据类型的定义有点像JS,都是弱类型的,都是通过var来定义一个变量。Swift中的变量Swift中通过var这个关键字来定义变量,比如以下代码:这里都没有指定变量具体的数据类型,都是自动来做的,如果我们想手动指定变量的具体类型的话,可以通过如下方式:不过看一些资料说不建议这样写,自己也不是太明白。

  3. Lucene在Android中

    我是android和Lucene的新手.我可以在Android列表视图中使用Lucene进行搜索.我已经尝试导入包2.3.2并且还使用了库中的jar文件.但是,SearchFiles.java中存在错误错误是:无法解析java.rmi.Remote类型.它是从.class文件间接引用的.这个文件有可能不存在于android.这是问题吗?解决方法您可能希望在SQLite中使用名为FTS3的本机FullTextSearch功能,该功能在Android中可用,并且速度更快并且使用的内存比DalvikVM下的Ja

  4. Springboot通过lucene实现全文检索详解流程

    Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目,也是目前最为流行的基于 Java 开源全文检索工具包

  5. java Lucene 中自定义排序的实现

    使用Lucene来搜索内容,搜索结果的显示顺序当然是比较重要的.Lucene中Build-in的几个排序定义在大多数情况下是不适合我们使用的.要适合自己的应用程序的场景,就只能自定义排序功能,本节我们就来看看在Lucene中如何实现自定义排序功能.

  6. $(window).scroll in vanilla JavaScript

    >在简单JS中相当于以下内容?

  7. php – Zend Lucene和Java Lucene之间的性能比较

    ZendLucene和JavaLucene分别用PHP和java构建,而PHP语言比java更高.只是想知道这两者在索引构建和数据搜索方面的性能差异有多大?让java创建和重建索引更有效,让PHP使用索引吗?

  8. zend-framework – lucene文本搜索的无效字符

    在我的IndexController上我有我收到了错误和变量包含从维基百科复制的文本数组,我收到错误的字符–(不是–)和我得到错误(我相信).我在Luceneforeigncharsproblem得到了类似的相关问题,但没有解释在哪里做什么.如果我知道该做什么以及一点点解释,我将不胜感激最新通报::的iconv尝试将此添加到您的引导程序:

  9. i7上的vanilla ubuntu-vm-builder中止了中止(使用PAE?)

    主机:inteli7-4*cpu,运行linuxkubuntu14.04嘉宾:试图创造.最终,这不应该工作?一个i7确实有PAE./proc/cpuinfo中的一个greponpaf确认了它.和和有谁知道这里发生了什么?/IAW我不知道您的PAEcpu被视为非PAGEcpu.但是,我们有相同的错误消息,此内核不支持非PAEcpu,这对我们有用:内核不支持Ubuntu13.10上的非PAEcpu安装KVM来宾–修复…

  10. zend-framework2 – Zend Framework 2搜索Lucene?

    ZF1有一个gread搜索lucene实现.ZF2有类似的东西吗?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部