java boolean and or: Mästra Booleska Sökningar med GroupDocs.Search för Java
Att söka i enorma samlingar av dokument kan kännas som att leta efter en nål i en höstack. Med java boolean and or‑frågor kan du tala om för motorn exakt vad du behöver—dokument som innehåller båda termerna, antingen term, eller exkludera oönskade ord. I den här guiden går vi igenom hur du installerar GroupDocs.Search for Java, lägger till dokument i ett index och skapar kraftfulla booleska frågor som förbättrar dina document retrieval java‑arbetsflöden.
Snabba svar
- What is a boolean AND query? Returnerar endast dokument som innehåller alla angivna termer.
- How does OR differ from AND? OR matchar dokument med någon av termerna, vilket breddar resultatmängden.
- When should I use NOT? Använd NOT för att filtrera bort dokument som innehåller oönskade ord.
- Do I need a license? En gratis provlicens fungerar för testning; en kommersiell licens krävs för produktion.
- Which Java version is required? Java 8+ stöds; JDK 11+ rekommenderas.
Vad är java boolean and or?
En java boolean and or‑fråga kombinerar logiska operatorer (AND, OR, NOT) för att förfina sökresultaten. Genom att strukturera frågorna talar du om för GroupDocs.Search exakt hur termerna förhåller sig till varandra, vilket ger dig exakt kontroll över återhämtningsprocessen.
Varför använda GroupDocs.Search för Java?
- High performance på stora dokumentuppsättningar.
- Rich API som stödjer både text‑baserade och objekt‑baserade frågor.
- Built‑in language support för stemming, stoppord och fuzzy‑matchning.
- Easy integration med Maven eller direkt JAR‑nedladdning.
Förutsättningar
Innan du dyker ner, se till att du har:
- GroupDocs.Search for Java (v25.4 eller senare) – se nedladdningslänken nedan.
- JDK 8+ installerat och konfigurerat i din IDE (IntelliJ IDEA, Eclipse, etc.).
- Grundläggande kunskap i Java och Maven för beroendehantering.
Inställning av GroupDocs.Search för Java
Maven‑inställning
Lägg till repository och beroende i din pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
Direkt nedladdning
Alternativt, ladda ner den senaste JAR‑filen från den officiella sidan: GroupDocs.Search for Java releases.
Licensanskaffning
Börja med en gratis provlicens för att utforska alla funktioner. För produktionsbruk, köp en kommersiell licens för att låsa upp full funktionalitet.
Grundläggande initiering och inställning
Skapa en indexmapp och instansiera Index‑objektet:
import com.groupdocs.search.Index;
public class GroupDocsSetup {
public static void main(String[] args) {
String indexFolder = "path/to/index/directory";
Index index = new Index(indexFolder);
}
}
java boolean and or: Implementering av Booleska Sökningar
Nedan kommer vi att gå igenom AND, OR, NOT och complex‑frågor. Varje avsnitt visar både en ren text‑fråga och den motsvarande objekt‑baserade frågan, så att du kan välja den stil som passar din kodbas.
Boolesk AND‑sökning
Kombinera termer med AND för att hämta endast dokument som innehåller alla nyckelord.
Översikt
En AND‑fråga begränsar resultaten, vilket förbättrar relevansen när du behöver dokument som matchar flera kriterier.
Implementeringssteg
Initialize Index – detta visar också add documents to index för AND‑scenariot.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorAnd"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search – med den enkla strängsyntaksen.
String query1 = "comfort AND promotion"; SearchResult result1 = index.search(query1);Perform Object Query Search – användbart när du bygger frågor programatiskt (search with and java).
import com.groupdocs.search.query.*; SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort"); SearchQuery wordQuery2 = SearchQuery.createWordQuery("promotion"); SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, wordQuery2); SearchResult result2 = index.search(andQuery);
Boolesk OR‑sökning
Använd OR för att bredda resultaten, matcha någon av de angivna termerna.
Översikt
En OR‑fråga är idealisk för utforskande sökningar där du vill fånga dokument som innehåller minst ett av flera nyckelord (search with or java).
Implementeringssteg
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "comfort OR neque"; SearchResult result1 = index.search(query1);Perform Object Query Search
SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort"); SearchQuery wordQuery2 = SearchQuery.createWordQuery("neque"); SearchQuery orQuery = SearchQuery.createOrQuery(wordQuery1, wordQuery2); SearchResult result2 = index.search(orQuery);
Boolesk NOT‑sökning
Exkludera oönskade termer med NOT för att filtrera bort brus från dina resultat.
Översikt
En NOT‑fråga hjälper dig att eliminera irrelevanta dokument, till exempel att filtrera bort en konkurrentens varumärkesnamn (boolean search examples java).
Implementeringssteg
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "sportsman AND NOT Kynynmound"; SearchResult result1 = index.search(query1);Perform Object Query Search
SearchQuery wordQuery1 = SearchQuery.createWordQuery("sportsman"); SearchQuery wordQuery2 = SearchQuery.createWordQuery("Kynynmound"); SearchQuery notQuery = SearchQuery.createNotQuery(wordQuery2); SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, notQuery); SearchResult result2 = index.search(andQuery);
Komplexa Booleska Frågor
Kombinera AND, OR och NOT för att skapa komplex söklogik för mycket specifika återhämtningsbehov.
Översikt
Komplexa frågor låter dig modellera verkliga sökscenarier, såsom “hitta sportartiklar som är positiva men exkludera alla omnämnanden av specifika idrottare”.
Implementeringssteg
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)"; SearchResult result1 = index.search(query1);Perform Object Query Search
SearchQuery word1Query = SearchQuery.createWordQuery("sportsman"); SearchQuery word2Query = SearchQuery.createWordQuery("favourable"); SearchQuery andQuery = SearchQuery.createAndQuery(word1Query, word2Query); SearchQuery word3Query = SearchQuery.createWordQuery("Kynynmound"); SearchQuery word4Query = SearchQuery.createWordQuery("Murray"); SearchQuery orQuery = SearchQuery.createOrQuery(word3Query, word4Query); SearchQuery notQuery = SearchQuery.createNotQuery(orQuery); SearchQuery rootQuery = SearchQuery.createAndQuery(andQuery, notQuery); SearchResult result2 = index.search(rootQuery);
Praktiska tillämpningar av java boolean and or‑frågor
- Document Management Systems – hitta kontrakt som innehåller både “confidential” AND “renewal”.
- Legal Research – filtrera rättspraxis med AND/ OR samtidigt som du exkluderar föråldrade lagar med NOT.
- Customer Support – hämta ärenden som nämner “login” AND “error” men inte “resolved”.
- Content Curation – samla blogginlägg om “cloud” OR “serverless” för ett nyhetsbrev.
Vanliga fallgropar & felsökning
- Missing Index Refresh – efter att ha lagt till nya dokument, anropa
index.update()för att säkerställa att de är sökbara. - Incorrect Operator Spacing – GroupDocs.Search förväntar sig mellanslag runt operatorer (
AND,OR,NOT). - Case Sensitivity – frågor är som standard skiftlägesokänsliga, men anpassade analysatorer kan påverka detta.
- Large Result Sets – använd paginering (
search(query, 0, 100)) för att undvika minnesöverbelastning.
Vanliga frågor
Q: Kan jag kombinera mer än två termer i en AND‑fråga?
A: Absolut. Du kan kedja flera createWordQuery‑objekt med createAndQuery, eller helt enkelt skriva "term1 AND term2 AND term3" i textfrågan.
Q: Stöder GroupDocs.Search wildcard‑ eller fuzzy‑sökningar?
A: Ja. Lägg till * för wildcard (t.ex. promot*) eller använd ~ för fuzzy‑matchning (t.ex. comfort~).
Q: Hur begränsar jag sökningen till specifika filtyper?
A: Använd FileTypeQuery‑klassen för att begränsa resultaten till PDF‑, DOCX‑etc., och kombinera den med din booleska fråga.
Q: Vad är det bästa sättet att övervaka indexeringsprestanda?
A: Aktivera den inbyggda loggaren (index.getLogger().setLevel(Level.INFO)) och granska tidsmåtten efter varje add‑operation.
Q: Finns det ett sätt att öka relevansen för vissa termer?
A: Ja. Omge viktiga ord med BoostQuery för att öka deras vikt i poängalgoritmen.
Senast uppdaterad: 2026-01-29
Testat med: GroupDocs.Search 25.4 (Java)
Författare: GroupDocs