Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Python 如何在使用solrpy查询SOLR时添加查询参数(如SQL中的where子句)_Python_Solr - Fatal编程技术网

Python 如何在使用solrpy查询SOLR时添加查询参数(如SQL中的where子句)

Python 如何在使用solrpy查询SOLR时添加查询参数(如SQL中的where子句),python,solr,Python,Solr,我对索尔很陌生。在我的python应用程序中,我想调用SOLR。我正在使用SOLRPY python客户端连接SOLR。我想用一些参数搜索SOLR文档。为RDBMS表生成以下文档 <doc> <field name="appName">myapp</field> <field name="sno">6</field> <field name="subject">t1</field>

我对索尔很陌生。在我的python应用程序中,我想调用SOLR。我正在使用SOLRPY python客户端连接SOLR。我想用一些参数搜索SOLR文档。为RDBMS表生成以下文档

<doc>
    <field name="appName">myapp</field>
    <field name="sno">6</field>
    <field name="subject">t1</field>
    <field name="predicate">DOMAIN</field>
    <field name="object">ITIS</field>
</doc>
<doc>
    <field name="appName">myapp</field>
    <field name="sno">7</field>
    <field name="subject">t1</field>
    <field name="predicate">SOLUTION</field>
    <field name="object">Please refer the below article</field>
</doc>

myapp
6.
t1
领域
它
myapp
7.
t1
解决方案
请参阅下面的文章
最终用户将提供一些文本用于查询对象字段值,一旦用户发送查询,solrpy将调用SOLR并给出结果。这里不是搜索所有SOLR文档,而是搜索具有值的SOLR文档,比如说

应用程序知道用户请求的值仅来自特定域。因此,如果搜索进入所有文档,对于用户查询,它可能也会给出来自其他域的值,这在用户方面会导致不必要的混淆

与使用where子句在RDBMS中选择记录类似,但域在这里不是字段,因为它不是SOLR索引所针对的表的列,但是每个对象值都将位于域值之下


所以,我如何在SOLR文档中添加自定义字段,尽管最初文档是为特定表生成的,而自定义字段不是其中的一部分。我能命令士兵缩小搜索范围吗。任何其他SOLR python客户端也可以。请对此进行一些说明

您应该能够通过发送参数(相关http请求部分)来完成此操作:fq=predicate:DOMAIN&fq=object:ITIS@D_K如果我这样做,我如何才能得到解决方案谓词的对象?如果我错了,请纠正我,我想,如果我在每个文档中都有一个额外的字段来指示域,那么我可以,但我不知道添加是否合适?您是否需要在与域的查询对象相同的查询中访问解决方案的对象?如果是这样,您可以使用OR运算符:fq=predicate:(域或解决方案)&fq=object:(ITIS或article)。为了让事情更清楚,您可以为域添加一个单独的字段。值从何而来?是的,我也这么认为,但用于此索引的表不包含域列。是否可以添加不属于表的字段?您可以在data-config.xml中的solr端进行配置。有一个配置示例: