データベース呼び出しを行わずに、sphinx のすべての結果が特定の型であることを確認するにはどうすればよいですか? 例:
|id|tag|name|
|1|media| movie|
|2|media| picture |
|3|text|media tech|
「メディア」という単語を検索すると、タグフィールドでは「メディア」ではなくテキストであるため、3行目は返されません。オーバーヘッドが膨大になるため、db呼び出しを使用しないことが重要です。
データベース呼び出しを行わずに、sphinx のすべての結果が特定の型であることを確認するにはどうすればよいですか? 例:
|id|tag|name|
|1|media| movie|
|2|media| picture |
|3|text|media tech|
「メディア」という単語を検索すると、タグフィールドでは「メディア」ではなくテキストであるため、3行目は返されません。オーバーヘッドが膨大になるため、db呼び出しを使用しないことが重要です。
Do you want your index to only contain the 'media' type rows? Just adjust your WHERE clause in the SQL query
WHERE .... AND type='media'
これを perl で行う場合は、正規表現を使用できます。これを試してみてください
/\|.*?\|[^|]*media/
これには文字列属性を使用できます http://sphinxsearch.com/docs/current.html#conf-sql-attr-string
結果とともに属性が返されます。 http://sphinxsearch.com/docs/current.html#attributes
列も「検索」できるようにしたい場合は、 http://sphinxsearch.com/docs/current.html#conf-sql-field-stringを使用してください
列をフィールドと属性の両方にします。