Find the filename and path from index

Help
2008-04-04
2013-04-17
  • Dear all,

    can anyone suggest me how to find the filename and path from index file.

    Thanks
    siva

     
    • bonjour,
      désolée je ne parle pas couramment anglais.
      est-ce que c'est lorsque tu fais une recherche que tu veux récupérer le nom et le chemin du fichier contenant l'expression recherchée ?
      parce que moi aussi j'aimerais les obtenir mais je ne sais pas comment faire
      je pense qu'il faut faire un fichier de type luceneDocument mais je ne sais absolument pas comment faire
      alors si tu trouves quelque chose ce serait gentil de m'en informer, je t'informerais aussi si j'y arrive.

      merci
      Hélène

       
    • Oui c'est possible d'avoir le chemin, d'ailleurs c'est une info cruciale.
      Il faut ajouter la ligne filepath dans liusCongig.xml, par defaut elle n'y est pas :

      <searchResult>
              <fieldsToDisplay setHighlighter="true">               
                  <luceneField name="title" label="title"/>
                  <luceneField name="filePath" label="File path" />
                  <luceneField name="subject" label="subject"/>
                  <luceneField name="creator" label="creator"/>   
                  <luceneField name="fullText" label="full text" setFragmenter="50"/>   
              </fieldsToDisplay>
             
          </searchResult>

      Ensuite, tu peux recuperer l'info comme ceci :

      LiusConfig lc = LiusConfigBuilder.getSingletonInstance().getLiusConfig(fichierconfiglius.toString());
      LiusHitList ls = SearchIndex.search(args[2] /* chaine recherche */, args[0], fichierconfiglius.toString());
      System.out.println("Nb doc = " + ls.size());
      for (int i = 0; i < ls.size(); i++) {
                LiusHit lh = (LiusHit) ls.get(i);
                System.out.println("===========*****=============");
             //   System.out.println("Score = " + lh.getScore());
              //  System.out.println("Doc id = " + lh.getDocId());
                List liusHitFields = lh.getLiusFields();
                Map liusHitFieldsMap = lh.getLiusFieldsMap();
                 System.out.println("liste clefs  = " + liusHitFieldsMap.entrySet().toString());
                 LiusField lfpath = (LiusField)liusHitFieldsMap.get("filePath");
                 LiusField lftext = (LiusField)liusHitFieldsMap.get("fullText");
                
                 System.out.println("filepath value clef  = " + lfpath.getValue());
                 System.out.println("text value clef  = " + lftext.getValue());

       
    • Hi all!
      I'm evaluating Lius with some systems that i have in my company.
      But I can't get filename and filepath too ... I tried this last solution, but even with the inclusion of "filePath" in liusconfig.xml, the LiusHitFieldsMap has only one key - "fullText" .

      Any suggestion? What am i doing wrong ?

      Thanks in advance for the great job.

      Fred.

       
      • Sorry!

        My bad ... i've fixed a little problem and now its working!

        Thanks anyway.