Once you change a forum or modify it and your ID's are not ordered properly, your forum name sorting is gone. Use the
forum.title sorting to achieve the proper results, do not use the
forumid. Also, you will never be able to properly sort by thread title, no matter what. This is the only feature I have it disabled in
vBulletin 3.7, anything else is working perfectly.
You should upgrade to
0.9.8 r1065, there are a bunch a new cool features that will make your programmer life very easy.
I never had any file edits with vBulletin and Sphinx 0.9.7... but it helps to toss a bunch of code that can slow down your cluster performance. I removed more then half of the old PHP code, once I upgraded to latest Sphinx version.
It is really cool how smart the engine got. Now I can search for queries like:
search engine (query) OR
search engine (query) + nginx (tag) OR
*engi* (query) + Floren (username) + nginx (tag) OR
Floren (username) + nginx (tag) OR
nginx (tag) OR
Floren (username)
There is a bug with the wild cards, but you address it with this patch:
Code:
sphinx.cpp:3418
bool bSpecial =
( iCode & FLAG_CODEPOINT_SPECIAL ) &&
- !( ( iCode & FLAG_CODEPOINT_DUAL ) && m_iAccum );
+ !( ( iCode & FLAG_CODEPOINT_DUAL ) && m_iAccum ) && m_pCur[-1] != '*';
sphinxquery.cpp:900
int iSpecial = sToken
? ( IsSpecial(sToken[0]) ? sToken[0] : 0 )
: QUERY_END;
assert ( !( iSpecial>0 && sToken[1]!=0 ) );
+ if(sToken && sToken[0] == '*') iSpecial = 0;
All searches are sorted by:
- Relevancy
- Number of Replies
- Number of Views
- Thread Start Date
- Last Posting Date
- User Name
- Forum Name AND
* ASC/DESC sorting filters
As you can see, the only sorting option missing is
Thread Title.
Since this is a place where Sphinx is already looking for data to pull, I would not recommend it to manipulate it through the ordinal column. The stored data is already huge as we speak, the ATTRS array has 13 keys to index the search data. From my tests, with the current array you get this ratio:
5 posts/1Kb, where each post has an average of 20-30 words. If we do a simple math operation, for 5 million posts you will inflate your data to a whopping
1GB of search data. The problem is not the speed, Sphinx can shred 1 terabyte of data in less then 3 seconds... but still, expect to lose few Gigs on your disks, if you manage a large board.
If you deal with a board that have over 5 million posts, make sure you experiment with the
max_iosize and
max_iops settings. So far those are the optimal values:
Code:
mem_limit = 64M
max_iosize = 1048576
max_iops = 40
Another nice feature I like the the seamless rotation you can perform now with the indexer.
Very elegant. I am truly impressed with Andrew's latest version.