簡體   English   中英

Sphinx搜索產品和版本號

[英]Sphinx search for product & version number

我需要使用Sphinx構建一個簡單的搜索引擎,該引擎將搜索產品和版本號(字符串)。 例如,如果我在索引中:

  • 標題=產品名稱
  • 版本= 1.2.3

  • 標題=其他商品

  • 版本= 2.5 Beta

  • 標題=另一種產品

  • 版本= 1.2.4 alpha

所以我想要實現的是:

  • 查詢“產品1.2”應與產品1和3匹配(版本1.2應與1.2.3和1.2.4的子字符串匹配)
  • 查詢“產品”應匹配所有3個產品
  • 查詢“測試版”應與產品2相匹配
  • 查詢“ 1.2.4”應僅匹配第三個產品

等等

哪些配置設置對於實現此目標很重要? 我嘗試更改許多配置變量(忽略字符,混合字符等),但沒有任何結果給我我想要的結果...

charset_table = english, U+2E
min_prefix_len = 1

然后重寫查詢以將*自動附加到末尾數字

$query = preg_replace('/\b(\d+[\.\d]*)\b/','$1*',$query);

唯一的問題是搜索1.2仍然匹配1.20.2 應該可以通過零填充來解決(使用regex_filter填充索引中的填充),但這就是很多工作。

暫無
暫無

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

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