Christian thanks for your explanations.

I am playing around with the "acts as tree with dotted ids" from
xavier (http://github.com/xavier/acts-as-tree-with-dotted-ids/tree/
master) which basically stores the "path" from a tree node in dotted
form, i.e.  "3.12.34.65" indicates that the parent of node with ID 65
is the node with ID 34 and so on.

I indexed this dotted id as an attribute:

has geographic_feature.dotted_ids, :as => 'path', :type => :multi

and this works for filtering (though i'm not sure it should work;
since i thought sphinx only supports integers for attributes?). This
is nice since i do not need an aditional query or queries (as would be
required with acts as tree or nested set).

But unfortuanetly it does not work for facets. The facet hash for this
attribute is always empty.

The sentence
"....in the second one the field will be parsed for integer values..."
from http://www.sphinxsearch.com/docs/current.html#mva made me think
that sphinx is able to extract integers from a column.

Since i don't see how i can find the parents of a node in pure SQL
(MySQL does not support splitting of strings) i might be moving back
to nested set (where this should be a simple query with left/right in
the condition).

As said, i'm only playing around to see how the dotted ids version
plays with sphinx... of course i'd still be happy if someone could
give me a hint how i can create a facetted MVA for a dotted id string.


BTW: I really appreciate that the people on this list are helpful and
have a positive attitude. Thank you very much!

On Aug 18, 3:04 pm, Christian Aust <[email protected]>
wrote:
> Hi Pascal,
>
> an attribute is multi-valued if Sphinx sees more than one value for
> it. (Well, that's not too surprising.) Since Thinking Sphinx generates
> a configuration for the Sphinx indexer that tells it how to get data
> from the SQL database, MVA are limited to everything you can do in
> SQL. In particular, you can't have a method of your model that returns
> a Ruby array of some sort and directly convert this into a MVA,
> because the indexer doesn't speak to your model but only to the
> database.
>
> OK, so MVA are related to ActiveRecord associations. Like, class
> Book :has_many :chapters or else. In the index definitions of that
> class "Book" you could write:
>
> indexes chapters.title, :as=>'chapter_title', :facet=>true
>
> Depending on whether your activate facets or not (using :facet=>true)
> Sphinx will either see all values of chapter.title concatenated by
> spaces, or (if it's a facet) as a list of CRC32 checksums of all
> chapter titles, separated by commas. Only the latter is a MVA from
> Sphinx' perspective, the first is just one long string.
>
> There's currently an open issue with facets of MVA that leads to
> unexpected results, but it is about to be resolved. Regards,
>
> Christian
>
> On 18 Aug., 13:51, pascal <[email protected]> wrote:
>
>
>
> > Hi
>
> > Some questions on MVA, hope there is someone around who can help me...
>
> > How does Sphinx/TS parse MVA attributes? i could not find a
> > description of what is acceptable.
> > I found something that said it has to be CSV (comma separated values)
> > while it looks like space and dot are also ok?
>
> > I've got some troubles getting MVA and facets working. Is it
> > supported?
> > rake ts:in generates
> > WARNING: attribute 'path_ids_facet' not found - IGNORING
> > and the path_id attribute is not indexed.
>
> > the attributes appear in the ThinkingSphinx.facets hash but 'path_ids'
> > is always empty.
>
> > Thanks for your help and time.
>
> > Pascal
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to