2016-03-21 8 views
1

In meinem Index in SphinxSearch möchte ich auf der ersten Position exakte Übereinstimmung der Suchphase. Aber ich habe genau Mathematik auf ~ 6. Position.Sphinx Suche genaue Übereinstimmung

Zum Beispiel:

SELECT id, WEIGHT() 
FROM `products_elit_cs` 
WHERE MATCH('BKR5EK') 
ORDER BY WEIGHT() DESC 
OPTION ranker=sph04 

returns [sphinxsearch Ergebnis]

id weight() 
199001 7528 
279018 7528 
385989 7528 
4513542 7528 
4759603 7528 
58449 7527 
297335 6528 
4759601 6527 
5030474 6527 
341879 4527 

aber Quelldaten [mysql result]

id active_number_cs 
58449 BKR5EK 
199001 BKR5EKU 
279018 BKR5EKUP 
297335 BKR5EKB-11 
341879 V-23 BKR5EK 
385989 BKR5EKC 
4513542 BKR5EKUD 
4759601 BKR5EKPB-13 
4759603 BKR5EKUC 
5030474 BKR5EKPB-11 

Hinweis, dass Datensatz mit ID 58449 ist die genaue Mathematik.

Wir verwenden die Version 2.1.6 von sphinxsearch.

Antwort

1

Ich vermute, Sie haben enable_star=0 ja? http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-enable-star

würde vorschlagen zu enable_star=1 ändern, und fügen Sie dann expand_keyword=1 http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-expand-keywords

Dies sollte Ihnen ermöglichen, um genau zu Rang passt höher. Möglicherweise müssen Sie mit verschiedenen Ranking-Ausdrücken experimentieren. http://sphinxsearch.com/docs/archives/manual-2.1.6.html#weighting