Sergey,

Try to employ
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.PatternTokenizerFactory

Regards


On Wed, Feb 1, 2012 at 11:59 PM, asv - gmail <asvs...@gmail.com> wrote:

> **
>
> Hello, Mikhail.
>
>
> Each index record looks like:
>
>
> DIR:true
>
> PATH:/root/folder1/folder2/
>
> NAME:folder3
>
> SIZE:0
>
> ...
>
>
> This record represents folder /root/folder1/folder2/folder3
>
>
> DIR:false
>
> PATH:/root/folder1/folder2/folder3/
>
> NAME:image.jpg
>
> SIZE:1234567
>
> ...
>
>
> This is a file /root/folder1/folder2/folder3/image.jpg
>
>
> E. g. PATH is a path to parent directory, NAME is actual name of
> file/folder. We do not store list of children in folder record (like in
> your solution). Also, in my previous example a file of specified type may
> be deeper than one level: if there are /root/folder1, /root/folder2 and
> file /root/folder1/aaa/bbb/ccc/image.jpg, and I query for "folder", only
> folder1 must be returned.
>
>
> Thanks
>
>
>
> 2012/2/1, 21:33:41:
>
>
>    >
>
> Hello Sergey,
>
>
> if your docs looks like:
>
>
> PATH:'directory','tree','sements','test1'
>
>
> FILES:'filename1','ext1','filename2','ext2','filename3','ext3','filename4','ext4'
>
> you can search it:
>
> +PATH:test1 +FILES:jpg
>
>
>
> 2012/2/1 Sergei Ananko <asvs...@gmail.com>
>
>
> Hello,
>
>
> We use Solr to search over a filesystem, so there are a lot of files and
> folders indexed, name and path of each file are stored in different fields.
> The task is to find folders by name AND containing at least one file of
> specific type somewhere inside. For example, we search by phrase "test" and
> for JPG files and have two folders:
>
>
> 1) "test1" - empty folder
>
> 2) "test2" - contains 1 file "abcd.jpg" inside.
>
>
> Search result must only contain folder "test2", because "test1" does not
> correspond to second criteria.
>
>
> SQL equivalent of such search query looks like:
>
>
> SELECT * FROM indexed_files t1 WHERE t1.name LIKE '%test%' AND (SELECT
> COUNT(*) FROM indexed_files t2 WHERE t2.path LIKE CONCAT(t1.path, '%') AND
> t2.name LIKE '%jpg') > 0;
>
>
> The question is: is it possible to do such search in Solr by single query?
> Single query is important because we need to use Solr's paging ("start" and
> "rows" parameters), so we should avoid filtering of wrong results in our
> code. I've read Solr wiki about nested queries but haven't found a way to
> do it. BTW, does Solr provide equivalent of "SELECT COUNT(*)" statement to
> access count of found records directly in Solr query? Or such complex query
> is completely impossible?
>
>
> --
>
> Best regards,
>
>  Asv                          mailto:asvs...@gmail.com
>
>
>
>
>
> --
>
> Sincerely yours
>
> Mikhail Khludnev
>
> Lucid Certified
>
> Apache Lucene/Solr Developer
>
> Grid Dynamics
>
>
>
>
>
>
>
> --
>
> С уважением,
>
>  asv                          mailto:asvs...@gmail.com <asvs...@gmail.com>
>



-- 
Sincerely yours
Mikhail Khludnev
Lucid Certified
Apache Lucene/Solr Developer
Grid Dynamics

<http://www.griddynamics.com>
 <mkhlud...@griddynamics.com>

Reply via email to