Open Semantic Search GuideCAUTION
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Overview
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
e1ba289846fdOBSERVED · 2026-10-08Install
Commands as the repository documents them. They are shown, not run.
git clone https://github.com/opensemanticsearch/open-semantic-search.git
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: open-semantic-search-guide
description: "Self-hosted semantic search and text mining platform"
metadata:
openclaw:
emoji: "🔎"
category: "literature"
subcategory: "search"
keywords: ["semantic search", "text mining", "self-hosted", "Solr", "NLP", "entity extraction"]
source: "https://github.com/opensemanticsearch/open-semantic-search"
---
# Open Semantic Search Guide
## Overview
Open Semantic Search is a self-hosted search and text mining platform that combines full-text search (Apache Solr) with semantic analysis — entity extraction, named entity recognition, text classification, and knowledge graph building. Process and search across documents (PDF, DOCX, emails) with faceted navigation and visual analytics. Ideal for researchers needing private, on-premise document search over large paper collections.
## Installation
```bash
# Docker deployment (recommended)
git clone https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
docker-compose up -d
# Access web UI at http://localhost:8080
# Admin panel at http://localhost:8080/admin
```
## Architecture
```
Documents (PDF, DOCX, HTML, email)
↓
Connector/Crawler (file system, web, IMAP)
↓
ETL Pipeline
├── Text extraction (Apache Tika)
├── OCR (Tesseract, for scanned docs)
├── NER (spaCy, Stanford NER)
├── Entity linking (knowledge base)
└── Classification (custom models)
↓
Apache Solr (full-text index + facets)
↓
Web UI (search, browse, visualize)
```
## Indexing Documents
```bash
# Index a directory of papers
curl -X POST "http://localhost:8080/api/index" \
-H "Content-Type: application/json" \
-d '{"path": "/data/papers/", "recursive": true}'
# Index single file
curl -X POST "http://localhost:8080/api/index" \
-H "Content-Type: application/json" \
-d '{"path": "/data/papers/attention.pdf"}'
# Schedule recurring index
# Add to crontab or use built-in scheduler
```
## Search Features
```markdown
### Full-Text Search
- Boolean queries: "attention mechanism" AND transformer
- Phrase search: "self-attention"
- Wildcard: transform*
- Proximity: "attention transformer"~5 (within 5 words)
- Field-specific: title:"attention" author:"Vaswani"
### Faceted Navigation
- Filter by: author, date, organization, topic, language
- Nested facets for hierarchical browsing
- Date range slider
- Entity type filters (person, organization, location)
### Semantic Features
- Named entity highlighting in results
- Related entity suggestions
- Concept co-occurrence visualization
- Auto-generated tag clouds
```
## Python Client
```python
import requests
SEARCH_URL = "http://localhost:8080/api/search"
def search_papers(query, filters=None, max_results=20):
"""Search indexed documents."""
params = {
"q": query,
"rows": max_results,
"fl": "title,author,content_type,date,score",
"hl": "true", # Highlight matches
"hl.fl": "content", # Highlight in content field
"facet": "true",
"facet.field": ["author", "organization", "topic"],
}
if filters:
params["fq"] = filters
resp = requests.get(SEARCH_URL, params=params)
data = resp.json()
results = data["response"]["docs"]
facets = data.get("facet_counts", {}).get("facet_fields", {})
return results, facets
# Search
results, facets = search_papers(
"attention mechanism transformer",
filters='date:[2023-01-01T00:00:00Z TO *]',
)
for doc in results:
print(f"[{doc.get('date', 'N/A')}] {doc.get('title', 'Untitled')}")
print(f" Score: {doc['score']:.2f}")
```
## Entity Extraction Configuration
```json
{
"ner": {
"engines": ["spacy", "stanford"],
"models": {
"spacy": "en_core_web_lg",
"stanford": "english.all.3class.caseless"
},
"entity_types": [
"PERSON", "ORG", "GPE", "DATE",
"WORK_OF_ART", "EVENT"
],
"custom_entities": {
"METHODOLOGY": ["transformer", "CNN", "RNN", "GAN"],
"DATASET": ["ImageNet", "CIFAR", "MNIST", "COCO"]
}
},
"classification": {
"enabled": true,
"model": "custom_topic_classifier",
"categories": ["NLP", "CV", "RL", "Theory"]
}
}
```
## Knowledge Graph
```python
# Query the auto-built knowledge graph
def get_entity_network(entity, depth=2):
"""Get co-occurring entities for a given entity."""
resp = requests.get(
f"{SEARCH_URL}/graph",
params={"entity": entity, "depth": depth},
)
graph = resp.json()
for node in graph["nodes"]:
print(f"Entity: {node['label']} ({node['type']})")
for edge in graph["edges"]:
print(f" {edge['source']} ↔ {edge['target']} "
f"(co-occur: {edge['weight']})")
get_entity_network("Transformer")
```
## Use Cases
1. **Paper search**: Full-text search over local paper collections
2. **Literature mining**: Extract entities and relationships from papers
3. **Institutional repository**: Campus-wide document search
4. **Due diligence**: Search across legal/business document archives
5. **Investigative research**: Cross-reference entities across documents
## References
- [Open Semantic Search GitHub](https://github.com/opensemanticsearch/open-semantic-search)
- [Apache Solr](https://solr.apache.org/)
- [Apache Tika](https://tika.apache.org/)Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
# Add to crontab or use built-in scheduler
Gates applied: no_behavioural_pass.
e1ba289846fdfull audit observations/trust-audit/skill/brycewang-stanford__open-semantic-search-guide.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | e1ba289846fd | CAUTION | B | 89 | first audit |
Questions
What does the Open Semantic Search Guide skill do?
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Is Open Semantic Search Guide safe to install?
With care. The audit graded it B (89/100) and found 1 thing worth knowing before you trust this skill, listed below with the exact line each was found on.
What can Open Semantic Search Guide access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Open Semantic Search Guide work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (e1ba289846fd), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.