簡體   English   中英

Sphinx搜索-數字和字母數字搜索未返回任何結果

[英]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_stringstring_field1定義為屬性。

因為它是Attribute ,所以沒有全文索引。 因此,它將永遠不會與搜索中的任何關鍵字匹配。

另一方面,對Fields進行了索引,並且將匹配。 任何未定義為屬性的內容,也永遠不會是sql_query的第一列,但其他所有內容都將是一個字段。

因此,如果您確實不希望sql_attr_string用作屬性,則可以刪除它。 或者可以使用sql_field_string,使列同時成為字段和屬性。 將string_field1定義為領域后,它應與您的查詢匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM