私はPythonで汎用Sphinxを使用しています(ただし、これをPHPに対してもテストし、同じ問題が発生しました)。スフィンクスで検索できるようにしたいフィールドがいくつかあるテーブルがありますが、一部のフィールドのみがインデックスに登録されているようです。
これが私のソースです(dbconfigには接続情報があります):
source bill_src : dbconfig
{
sql_query = \
SELECT id,title,official_title,summary,state,chamber,UNIX_TIMESTAMP(last_action) AS bill_date FROM bill
sql_attr_timestamp = bill_date
sql_query_info = SELECT * FROM bill WHERE id=$id
}
これがインデックスです
index bills
{
source = bill_src
path = /var/data/bills
docinfo = extern
charset_type = sbcs
}
拡張マッチモードを使おうとしています。title
とsummary
は問題ないようですがofficial_title
、、、、state
およびchamber
フィールドはインデックスで無視されます。たとえば、私がそうする場合:
@official_title Affordable Care Act
私は得る:
query error: no field 'official_title' found in schema
ただし、@summaryを使用した同じクエリで結果が生成されます。私が欠けているアイデアはありますか?
編集 これが私が索引付けしようとしているテーブルです:
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| bt50_id | int(11) | YES | MUL | NULL | |
| type | varchar(10) | YES | | NULL | |
| title | varchar(255) | YES | | NULL | |
| official_title | text | YES | | NULL | |
| summary | text | YES | | NULL | |
| congresscritter_id | int(11) | NO | MUL | NULL | |
| last_action | datetime | YES | | NULL | |
| sunlight_id | varchar(45) | YES | | NULL | |
| number | int(11) | YES | | NULL | |
| state | char(2) | YES | | NULL | |
| chamber | varchar(45) | YES | | NULL | |
| session | varchar(45) | YES | | NULL | |
| featured | tinyint(1) | YES | | 0 | |
| source_url | varchar(255) | YES | | | |
+--------------------+--------------+------+-----+---------+----------------+