Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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
Php 非字符串数据类型的SOLR“LIKE”查询语法_Php_Solr_Wildcard - Fatal编程技术网

Php 非字符串数据类型的SOLR“LIKE”查询语法

Php 非字符串数据类型的SOLR“LIKE”查询语法,php,solr,wildcard,Php,Solr,Wildcard,我的查询SOLR语法有问题。在管理页面上,我尝试使用此查询 description:*home* 结果是在描述字段中包含主单词的所有文档 但是,当我尝试对具有数据类型float的price字段执行类似操作时,并没有结果 有谁能告诉我如何在SOLR中使用通配符语法来表示整数、浮点、实数等数字数据类型吗 谢谢我不知道你为什么要对数字进行通配符搜索。但是如果需要,也许可以将数字存储在文本字段中,并对其运行通配符查询 可能您真正想要做的是对数字字段进行范围查询。比如: price:[17 TO *]

我的查询SOLR语法有问题。在管理页面上,我尝试使用此查询

description:*home*
结果是在描述字段中包含主单词的所有文档

但是,当我尝试对具有数据类型float的price字段执行类似操作时,并没有结果

有谁能告诉我如何在SOLR中使用通配符语法来表示整数、浮点、实数等数字数据类型吗


谢谢

我不知道你为什么要对数字进行通配符搜索。但是如果需要,也许可以将数字存储在文本字段中,并对其运行通配符查询

可能您真正想要做的是对数字字段进行范围查询。比如:

price:[17 TO *]   ' 17 or higher
price:[17 TO 18]  ' between 17 and 18 (inclusive)


如果这样做没有帮助,也许可以让我们知道您想要完成什么。

我现在正在制作一个搜索功能。如果我在文本字段中输入了一些东西,例如45000,那么我使用SOLR来获取包含输入的所有字段,无论数据类型是string还是number。我希望你能帮助我,谢谢。我不知道你在这里是什么意思。请明确您正在尝试完成什么以及您已经尝试了什么,我将尝试提供帮助。我有一个文本字段,用户将使用该字段输入关键字和搜索按钮执行搜索操作。例如,在我的文档中,我有3个字段:价格浮动、名称字符串和描述字符串。当用户输入关键字,然后单击搜索按钮执行操作时,它将搜索包含这些关键字的所有文档字段。所以,我使用通配符来实现这一点。它适用于字符串数据类型,但不适用于浮点数据类型。在我的搜索操作中,我使用循环搜索每个文档上的每个字段。我希望你能理解我的意思。为什么你需要使用通配符?请注意,如果使用的是Demax查询解析器,则搜索description:*home*与description:home完全相同这是因为去掉了*,Demax不支持通配符。在solrconfig.xml文件中查找demax。