[英]Sphinx Search - No results returned on Numeric and Alpha-Numeric search
我正在嘗試使用獅身人面像搜索為我正在處理的Web應用程序提供關鍵字搜索功能。
我已盡一切努力使數字和字母數字搜索正常工作,但沒有發現任何運氣! (嘗試使用charset_table,index_exact_words,infix和子字符串配置sphinx.conf)。
這是sphinx.conf文件設置:
source src1 : base_src
{
sql_query = SELECT CRC32(string_field1) AS id, 1 AS table_id, \
string_field1, string_field2, string_field3, string_field4, string_field5 \
FROM table1
sql_query_info = SELECT * FROM table1 WHERE CRC32(string_field1)=$id
sql_attr_uint = table_id
sql_attr_string = string_field1
}
index idx1
{
morphology = stem_en
max_substring_len = 0
min_infix_len = 1
enable_star = 1
expand_keywords = 1
dict = keywords
mlock = 0
min_word_len = 1
charset_type = utf-8
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
index_exact_words = 1
source = src1
path = /home/{myUserName}/indices/idx1
}
這里string_field1是字母數字字符串。
例:
string_field1 =“ HMGC_GL0000047”
$ sphinx-> query('GL0','idx1');
要么
$ sphinx-> query('047','idx1');
如何配置和使用sphinx + php使數字和字母數字搜索工作?
您已使用sql_attr_string
將string_field1定義為屬性。
因為它是Attribute
,所以沒有全文索引。 因此,它將永遠不會與搜索中的任何關鍵字匹配。
另一方面,對Fields
進行了索引,並且將匹配。 任何未定義為屬性的內容,也永遠不會是sql_query
的第一列,但其他所有內容都將是一個字段。
因此,如果您確實不希望sql_attr_string用作屬性,則可以刪除它。 或者可以使用sql_field_string,使列同時成為字段和屬性。 將string_field1定義為領域后,它應與您的查詢匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.