Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对Lucene文本字段进行精确和部分匹配?_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Solr_Lucene - Fatal编程技术网 elasticsearch,solr,lucene,Java,elasticsearch,Solr,Lucene" /> elasticsearch,solr,lucene,Java,elasticsearch,Solr,Lucene" />

Java 如何对Lucene文本字段进行精确和部分匹配?

Java 如何对Lucene文本字段进行精确和部分匹配?,java,elasticsearch,solr,lucene,Java,elasticsearch,Solr,Lucene,我有一个要求,做一个准确的,然后在现场部分匹配。 目前,对于相同的数据,我正在创建两个字段,一个是TextField(用于部分匹配),另一个是StringField(用于精确匹配)。我有很多类似的领域需要应用类似的逻辑 你能建议一个更好的方法吗 谢谢, Parth每当需要精确匹配时,只需将查询用双引号(“)括起来,或使用最终设置默认slop( 设置查询短语中单词之间允许的其他单词数)。对于部分匹配,可以使用普通查询。最短的解决方案是使用逻辑布尔查询(FieldName:test)或(FieldN

我有一个要求,做一个准确的,然后在现场部分匹配。 目前,对于相同的数据,我正在创建两个字段,一个是TextField(用于部分匹配),另一个是StringField(用于精确匹配)。我有很多类似的领域需要应用类似的逻辑

你能建议一个更好的方法吗

谢谢,
Parth

每当需要精确匹配时,只需将查询用双引号(“)括起来,或使用最终设置默认slop(
设置查询短语中单词之间允许的其他单词数)。对于部分匹配,可以使用普通查询。

最短的解决方案是使用逻辑布尔查询
(FieldName:test)或(FieldName:test*)或(FieldName:test~)
,而不是创建多个字段

在本例中,我们尝试匹配三种不同的情况:

  • 精确匹配
  • 部分匹配
  • 模糊搜索

  • 为什么不添加“精确匹配”复选框“并且根据复选框是否选中,仅使用带标记器的StringField应用匹配类型?谢谢AR1。”。我尝试按建议在TextField上进行短语查询,但它进行了部分匹配。如何通过短语查询获得精确匹配?你能发布一些代码吗?@user322372-我相信对于“精确匹配”对你来说意味着什么可能会有一些混淆。很抱歉回复太晚。精确匹配(FieldName:test)将返回所有包含test的文档。在我的例子中,精确的匹配定义只是字段中存在单词。