Mysql SOLR:在Drupal索引SOLR*之后,如何在PHP中查询SOLR*外部*?

Mysql SOLR:在Drupal索引SOLR*之后,如何在PHP中查询SOLR*外部*?,mysql,drupal,drupal-6,solr,Mysql,Drupal,Drupal 6,Solr,我正在用PHP构建一个小类,它与ApacheSolr对话并获取缓存的数据查询。这是一个独立脚本,将在Drupal外部调用。数据是与Drupal 6中定义的内容类型相关联的查询 我最初是通过在下面的代码中定义一些东西来做到这一点的。但是现在,我需要通过Drupal ApacheSOLR模块为所有内容编制索引 我想知道如何在不使用Drupal SOLR模块的情况下查询特定查询的SOLR 当我完全在Drupal之外执行此操作时,我会在solr的/conf目录中的数据配置中创建一个条目,如下所示: &l

我正在用PHP构建一个小类,它与ApacheSolr对话并获取缓存的数据查询。这是一个独立脚本,将在Drupal外部调用。数据是与Drupal 6中定义的内容类型相关联的查询

我最初是通过在下面的代码中定义一些东西来做到这一点的。但是现在,我需要通过Drupal ApacheSOLR模块为所有内容编制索引

我想知道如何在不使用Drupal SOLR模块的情况下查询特定查询的SOLR

当我完全在Drupal之外执行此操作时,我会在solr的/conf目录中的数据配置中创建一个条目,如下所示:

<document name="content">
    <entity name="id"
        query="SELECT e.nid, e.field_a, e.field_b, e.field_c, n.type AS content_type

        FROM
            content_type_myContentType e

        LEFT JOIN
            node n ON n.nid = e.nid

        WHERE
            n.status='1'">
        <field column="nid" name="id" />
        <field column="title" name="title" />

        <field column="field_1" name="field_1" />
        <field column="field_2" name="field_2" />
        <field column="content_type" name="content_type" />
    </entity>
</document>

这不再有效,因为我不知道Drupal/SOLR将我的索引字段定义为什么。此外,如何定义查询?我仍然可以通过data-config.xml来实现这一点,但允许Drupal负责索引吗?

您不知道Solr将索引字段定义为什么是什么意思?它是您在字段声明(即字段a)中给出的名称。也许我没听清你的问题。你只是问如何自己手工创建一个Solr查询(也就是说,没有Drupal Apache Solr contrib模块)?是的,Drupal通过apachesolr模块配置/索引所有内容,但是我在Drupal之外引用了这个。我需要避免每次使用ajax轮询solr时启动Drupal,所以我使用php和curl手动轮询solr。结果发现它是一个损坏的索引,导致我的预期字段没有显示任何结果。因为我以前手动缓存查询时,它是另一个配置字段的过程。
<uniqueKey>id</uniqueKey>
    <field column="nid" name="id" type="int" indexed="true" stored="true" required="true"/>
    <field column="field_a" name="field_a" type="text" indexed="true" stored="true"/>
    <field column="field_b" name="field_b" type="text" indexed="true" stored="true"/>
    <field column="field_c" name="field_c" type="float" indexed="true" stored="true"/>
    <field column="content_type" name="content_type" type="text" indexed="true" stored="true"/>

    <defaultSearchField>fulltext</defaultSearchField>
$query = 'content_type: my_content_type_name';