Anserini เป็นชุดเครื่องมือสำหรับการวิจัยการสืบค้นข้อมูลที่ทำซ้ำได้ ด้วยการสร้าง Lucene เรามุ่งหวังที่จะเชื่อมช่องว่างระหว่างการวิจัยการดึงข้อมูลเชิงวิชาการและแนวปฏิบัติในการสร้างแอปพลิเคชันการค้นหาในโลกแห่งความเป็นจริง ในบรรดาเป้าหมายอื่นๆ ความพยายามของเรามีเป้าหมายที่จะตรงกันข้ามกับสิ่งนี้* Anserini เติบโตจากการศึกษาความสามารถในการทำซ้ำของกลไกการดึงข้อมูลโอเพ่นซอร์สต่างๆ ในปี 2559 (Lin et al., ECIR 2016) ดูหยาง และคณะ (SIGIR 2017) และ Yang และคณะ (JDIQ 2018) สำหรับภาพรวม
❗ Anserini ได้รับการอัปเกรดจาก JDK 11 เป็น JDK 21 เมื่อกระทำ 272565
(2024/04/03) ซึ่งสอดคล้องกับการเปิดตัว v0.35.0
Anserini บรรจุอยู่ในขวดไขมันในตัว ซึ่งเป็นวิธีที่ง่ายที่สุดในการเริ่มต้น สมมติว่าคุณได้ติดตั้ง Java ไว้แล้ว ให้ดึงข้อมูล fatjar:
wget https://repo1.maven.org/maven2/io/anserini/anserini/0.38.0/anserini-0.38.0-fatjar.jar
คำสั่งต่อไปนี้จะสร้างการรัน SPLADE++ ED พร้อมกับคำสั่ง dev (เข้ารหัสโดยใช้ ONNX) บนคลังข้อความ MS MARCO:
java -cp anserini-0.38.0-fatjar.jar io.anserini.search.SearchCollection
-index msmarco-v1-passage.splade-pp-ed
-topics msmarco-v1-passage.dev
-encoder SpladePlusPlusEnsembleDistil
-output run.msmarco-v1-passage-dev.splade-pp-ed-onnx.txt
-impact -pretokenized
ในการประเมิน:
java -cp anserini-0.38.0-fatjar.jar trec_eval -c -M 10 -m recip_rank msmarco-passage.dev-subset run.msmarco-v1-passage-dev.splade-pp-ed-onnx.txt
ดูคำแนะนำโดยละเอียดสำหรับ Anserini (v0.38.0) รุ่น fatjar ปัจจุบันเพื่อสร้างการทดลองการถดถอยบน MS MARCO V2.1 corpora สำหรับ TREC 2024 RAG, บน MS MARCO V1 Passage และบน BEIR ทั้งหมดนี้มาจาก fatjar โดยตรง!
นอกจากนี้ Anserini ยังมาพร้อมกับเว็บแอปในตัวสำหรับการสืบค้นเชิงโต้ตอบพร้อมกับ REST API ที่แอปพลิเคชันอื่นสามารถใช้ได้ ตรวจสอบเอกสารของเราที่นี่
คุณสมบัติ Anserini ส่วนใหญ่เปิดเผยในอินเทอร์เฟซ Pyserini Python หากคุณคุ้นเคยกับ Python มากกว่า ให้เริ่มต้นจากจุดนั้น แม้ว่า Anserini จะเป็นส่วนประกอบสำคัญของ Pyserini ดังนั้นการเรียนรู้เกี่ยวกับ Anserini ก็ยังคงคุ้มค่า
คุณจะต้องใช้ Java 21 และ Maven 3.9+ เพื่อสร้าง Anserini โคลน repo ของเราด้วยตัวเลือก --recurse-submodules
เพื่อให้แน่ใจว่า eval/
submodule ได้รับการโคลนด้วย (หรืออีกวิธีหนึ่ง ให้ใช้ git submodule update --init
) จากนั้นสร้างโดยใช้ Maven:
mvn clean package
tools/
ไดเร็กทอรีซึ่งประกอบด้วยเครื่องมือประเมินผลและสคริปต์อื่นๆ จริงๆ แล้วคือ repo นี้ ซึ่งรวมเป็นโมดูลย่อย Git (เพื่อให้สามารถแชร์ข้ามโปรเจ็กต์ที่เกี่ยวข้องได้) สร้างดังนี้ (คุณอาจได้รับคำเตือน แต่สามารถเพิกเฉยได้):
cd tools/eval && tar xvfz trec_eval.9.0.4.tar.gz && cd trec_eval.9.0.4 && make && cd ../../..
cd tools/eval/ndeval && make && cd ../../..
ด้วยเหตุนี้คุณควรพร้อมที่จะไป เส้นทางการเริ่มต้นใช้งาน Anserini เริ่มต้นที่นี่!
หากคุณใช้ Windows โปรดใช้ WSL2 เพื่อสร้าง Anserini โปรดดูเอกสารการติดตั้ง WSL2 เพื่อติดตั้ง WSL2 หากคุณยังไม่ได้ดำเนินการ
โปรดทราบว่าบน Windows ที่ไม่มี WSL2 การทดสอบอาจล้มเหลวเนื่องจากปัญหาการเข้ารหัส ดู #1466 วิธีแก้ปัญหาง่ายๆ คือการข้ามการทดสอบโดยเพิ่ม -Dmaven.test.skip=true
ให้กับคำสั่ง mvn
ข้างต้น ดู #1121 สำหรับการสนทนาเพิ่มเติมเกี่ยวกับการดีบักข้อผิดพลาดในการสร้าง Windows
Anserini ได้รับการออกแบบมาเพื่อรองรับการทดลองแบบ end-to-end กับคอลเลกชันการทดสอบ IR มาตรฐานต่างๆ แบบแกะกล่อง การถดถอย ตั้งแต่ต้นจนจบ แต่ละรายการเริ่มต้นจากคลังข้อมูลดิบ สร้างดัชนีที่จำเป็น ดำเนินการเรียกข้อมูล และสร้างผลการประเมิน ดูแต่ละหน้าเพื่อดูรายละเอียด
ผู้พัฒนา | ดล19 | ดีแอล20 | |
---|---|---|---|
เบาบางที่ไม่ได้รับการดูแล | |||
ข้อมูลพื้นฐาน Lucene BoW | - | - | - |
ปริมาณ BM25 | - | - | - |
บรรทัดฐาน Word Piece (โทเค็นล่วงหน้า) | - | - | - |
พื้นฐาน Word Piece (Huggingface) | - | - | - |
บรรทัดฐาน Word Piece + Lucene BoW | - | - | - |
doc2query | - | ||
doc2query-T5 | - | - | - |
เรียนรู้เบาบาง (ตระกูล uniCOIL) | |||
uniCOIL noexp | - | - | - |
uniCOIL พร้อม doc2query-T5 | - | - | - |
uniCOIL พร้อม TILDE | - | ||
เรียนเบาบาง (อื่นๆ) | |||
ดีพอิมแพ็ค | - | ||
สแปลดv2 | - | ||
SPLADE++ CoCondenser-EnsembleDistil | - | - | - |
SPLADE++ CoCondenser-การกลั่นตัวเอง | - | - | - |
เรียนรู้หนาแน่น (ดัชนี HNSW) | |||
cosDPR-กลั่น | เต็ม:? | เต็ม:? | เต็ม:? |
BGE-ฐาน-en-v1.5 | เต็ม:? | เต็ม:? | เต็ม:? |
OpenAI Ada2 | เต็ม:? int8:? | เต็ม:? int8:? | เต็ม:? int8:? |
เชื่อมโยงภาษาอังกฤษ v3.0 | เต็ม:? int8:? | เต็ม:? int8:? | เต็ม:? int8:? |
เรียนรู้หนาแน่น (ดัชนีแบน) | |||
cosDPR-กลั่น | เต็ม:? | เต็ม:? | เต็ม:? |
BGE-ฐาน-en-v1.5 | เต็ม:? | เต็ม:? | เต็ม:? |
OpenAI Ada2 | เต็ม:? int8:?? | เต็ม:? int8:? | เต็ม:? int8:? |
เชื่อมโยงภาษาอังกฤษ v3.0 | เต็ม:? int8:? | เต็ม:? int8:? | เต็ม:? int8:? |
เรียนรู้หนาแน่น (กลับหัว; ทดลอง) | |||
cosDPR-distil ด้วย "คำปลอม" | - | - | - |
cosDPR-กลั่นด้วย "LexLSH" | - | - | - |
สำคัญ:
คอร์ปอรา | ขนาด | เช็คซัม |
---|---|---|
ปริมาณ BM25 | 1.2 กิกะไบต์ | 0a623e2c97ac6b7e814bf1323a97b435 |
ยูนิคอยล์ (noexp) | 2.7 กิกะไบต์ | f17ddd8c7c00ff121c3c3b147d2e17d8 |
ยูนิคอยล์ (d2q-T5) | 3.4 กิกะไบต์ | 78eef752c78c8691f7d61600ceed306f |
ยูนิคอยล์ (ตัวทิลเด้) | 3.9GB | 12a9c289d94e32fd63a7d39c9677d75c |
ดีพอิมแพ็ค | 3.6GB | 73843885b503af3c8b3ee62e5f5a9900 |
สแปลดv2 | 9.9GB | b5d126f5d9a8e1b3ef3f5cb0ba651725 |
SPLADE++ CoCondenser-EnsembleDistil | 4.2 กิกะไบต์ | e489133bdc54ee1e7c62a32aa582bc77 |
SPLADE++ CoCondenser-การกลั่นตัวเอง | 4.8GB | cb7e264222f2bf2221dd2c9d28190be1 |
cosDPR-กลั่น | 57GB | e20ffbc8b5e7f760af31298aefeaebbd |
BGE-ฐาน-en-v1.5 | 59GB | 353d2c9e72e858897ad479cca4ea0db1 |
OpenAI-ada2 | 109GB | a4d843d522ff3a3af7edbee789a63402 |
Cohere ฝังภาษาอังกฤษ v3.0 | 38GB | 06a6e38a0522850c6aa504db7b2617f5 |
ผู้พัฒนา | ดล19 | ดีแอล20 | |
---|---|---|---|
คำศัพท์ที่ไม่มีผู้ดูแล เอกสารฉบับสมบูรณ์ * | |||
ข้อมูลพื้นฐาน Lucene BoW | - | - | - |
บรรทัดฐาน Word Piece (โทเค็นล่วงหน้า) | - | - | - |
พื้นฐาน Word Piece (โทเค็น Huggingface) | - | - | - |
บรรทัดฐาน Word Piece + Lucene BoW | - | - | - |
doc2query-T5 | - | - | - |
คำศัพท์ที่ไม่ได้รับการดูแล เอกสารแบบแบ่งกลุ่ม * | |||
ข้อมูลพื้นฐาน Lucene BoW | - | - | - |
บรรทัดฐาน Word Piece (โทเค็นล่วงหน้า) | - | - | - |
บรรทัดฐาน Word Piece + Lucene BoW | - | - | - |
doc2query-T5 | - | - | - |
เรียนรู้ศัพท์เบาบาง | |||
uniCOIL noexp | |||
uniCOIL พร้อม doc2query-T5 |
คอร์ปอรา | ขนาด | เช็คซัม |
---|---|---|
เอกสาร MS MARCO V1: uniCOIL (noexp) | 11 กิกะไบต์ | 11b226e1cacd9c8ae0a660fd14cdd710 |
เอกสาร MS MARCO V1: uniCOIL (d2q-T5) | 19 กิกะไบต์ | 6a00e2c0c375cb1e52c83ae5ac377ebb |
ผู้พัฒนา | ดีแอล21 | ดีแอล22 | ดีแอล23 | |
---|---|---|---|---|
คำศัพท์ที่ไม่ได้รับการดูแล, คลังข้อมูลดั้งเดิม | ||||
เส้นพื้นฐาน | - | - | - | - |
doc2query-T5 | - | - | - | - |
คำศัพท์ที่ไม่ได้รับการดูแล, คอร์ปัสเสริม | ||||
เส้นพื้นฐาน | - | - | - | - |
doc2query-T5 | - | - | - | - |
เรียนรู้ศัพท์เบาบาง | ||||
uniCOIL noexp เป็นศูนย์ช็อต | ||||
uniCOIL พร้อม doc2query-T5 เป็นศูนย์ช็อต | ||||
SPLADE++ CoCondenser-EnsembleDistil (แบบสอบถามที่แคชไว้) | ||||
SPLADE++ CoCondenser-EnsembleDistil (ONNX) | ||||
SPLADE++ CoCondenser-SelfDistil (ข้อความค้นหาที่แคชไว้) | ||||
SPLADE++ CoCondenser-SelfDistil (ONNX) |
คอร์ปอรา | ขนาด | เช็คซัม |
---|---|---|
ยูนิคอยล์ (noexp) | 24GB | d9cc1ed3049746e68a2c91bf90e5212d |
ยูนิคอยล์ (d2q-T5) | 41 กิกะไบต์ | 1949a00bfd5e1f1a230a04bbc1f01539 |
SPLADE++ CoCondenser-EnsembleDistil | 66GB | 2cdb2adc259b8fa6caf666b20ebdc0e8 |
SPLADE++ CoCondenser-การกลั่นตัวเอง | 76GB | 061930dd615c7c807323ea7fc7957877 |
ผู้พัฒนา | ดีแอล21 | ดีแอล22 | ดีแอล23 | |
---|---|---|---|---|
คำศัพท์ที่ไม่มีผู้ดูแล เอกสารฉบับสมบูรณ์ | ||||
เส้นพื้นฐาน | - | - | - | - |
doc2query-T5 | - | - | - | - |
คำศัพท์แบบไม่มีผู้ดูแล, แบบแบ่งส่วน | ||||
เส้นพื้นฐาน | - | - | - | - |
doc2query-T5 | - | - | - | - |
เรียนรู้ศัพท์เบาบาง | ||||
uniCOIL noexp เป็นศูนย์ช็อต | ||||
uniCOIL พร้อม doc2query-T5 เป็นศูนย์ช็อต |
คอร์ปอรา | ขนาด | เช็คซัม |
---|---|---|
เอกสาร MS MARCO V2: uniCOIL (noexp) | 55 กิกะไบต์ | 97ba262c497164de1054f357caea0c63 |
เอกสาร MS MARCO V2: uniCOIL (d2q-T5) | 72GB | c5639748c2cbad0152e10b0ebde3b804 |
MS MARCO V2.1 corpora ได้มาจาก V2 corpora สำหรับ TREC 2024 RAG Track การทดลองด้านล่างจับหัวข้อและ qrels ที่เดิมกำหนดเป้าหมายไปที่ V2 corpora แต่ได้รับการ "ฉาย" ไปที่ V2.1 corpora
ผู้พัฒนา | ดีแอล21 | ดีแอล22 | ดีแอล23 | ผู้พัฒนา RAGgy | |
---|---|---|---|---|---|
คำศัพท์ที่ไม่มีผู้ดูแล เอกสารฉบับสมบูรณ์ | |||||
เส้นพื้นฐาน | - | - | - | - | - |
คำศัพท์แบบไม่มีผู้ดูแล, แบบแบ่งส่วน | |||||
เส้นพื้นฐาน | - | - | - | - | - |
สำคัญ:
bert-base-uncased
), ข้อความค้นหาคำหลัก (?)ดูคำแนะนำด้านล่างตารางสำหรับวิธีสร้างผลลัพธ์สำหรับแบบจำลองใน BEIR corpora ทั้งหมด "ในครั้งเดียว"
คอร์ปัส | F1 | F2 | เอ็มเอฟ | ยู1 | S1 | บีจีอี (แบน) | บีจีอี (HNSW) |
---|---|---|---|---|---|---|---|
TREC-โควิด | - | - | - | - | - | เต็ม:? | เต็ม:? |
BioASQ | - | - | - | - | - | เต็ม:? | เต็ม:? |
เอ็นเอฟซีคอร์ปัส | - | - | - | - | - | เต็ม:? | เต็ม:? |
เอ็นคิว | - | - | - | - | - | เต็ม:? | เต็ม:? |
ฮอทพอทQA | - | - | - | - | - | เต็ม:? | เต็ม:? |
FiQA-2018 | - | - | - | - | - | เต็ม:? | เต็ม:? |
สัญญาณ-1M(RT) | - | - | - | - | - | เต็ม:? | เต็ม:? |
TREC-ข่าว | - | - | - | - | - | เต็ม:? | เต็ม:? |
แข็งแกร่ง04 | - | - | - | - | - | เต็ม:? | เต็ม:? |
อาร์กูอาน่า | - | - | - | - | - | เต็ม:? | เต็ม:? |
ทัช2020 | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Android | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-ภาษาอังกฤษ | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-การเล่นเกม | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Gis | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Mathematica | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-ฟิสิกส์ | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-โปรแกรมเมอร์ | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-สถิติ | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Tex | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Unix | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-ผู้ดูแลเว็บ | - | - | - | - | - | เต็ม:? | เต็ม:? |
CQADupStack-Wordpress | - | - | - | - | - | เต็ม:? | เต็ม:? |
โครา | - | - | - | - | - | เต็ม:? | เต็ม:? |
ดีบีพีเดีย | - | - | - | - | - | เต็ม:? | เต็ม:? |
ไซดอคส์ | - | - | - | - | - | เต็ม:? | เต็ม:? |
ไข้ | - | - | - | - | - | เต็ม:? | เต็ม:? |
ภูมิอากาศ-ไข้ | - | - | - | - | - | เต็ม:? | เต็ม:? |
ข้อเท็จจริงทางวิทยาศาสตร์ | - | - | - | - | - | เต็ม:? | เต็ม:? |
หากต้องการสร้างผลลัพธ์ SPLADE++ CoCondenser-EnsembleDistil ขึ้นมาใหม่ ให้เริ่มต้นด้วยการดาวน์โหลดคอลเลกชัน:
wget https://rgw.cs.uwaterloo.ca/pyserini/data/beir-v1.0.0-splade-pp-ed.tar -P collections/
tar xvf collections/beir-v1.0.0-splade-pp-ed.tar -C collections/
tarball คือ 42 GB และมีการตรวจสอบ MD5 9c7de5b444a788c9e74c340bf833173b
เมื่อคุณคลายแพ็กข้อมูลแล้ว คำสั่งต่อไปนี้จะวนซ้ำ BEIR corpora ทั้งหมดและเรียกใช้การถดถอย:
MODEL= " splade-pp-ed " ; CORPORA=(trec-covid bioasq nfcorpus nq hotpotqa fiqa signal1m trec-news robust04 arguana webis-touche2020 cqadupstack-android cqadupstack-english cqadupstack-gaming cqadupstack-gis cqadupstack-mathematica cqadupstack-physics cqadupstack-programmers cqadupstack-stats cqadupstack-tex cqadupstack-unix cqadupstack-webmasters cqadupstack-wordpress quora dbpedia-entity scidocs fever climate-fever scifact) ; for c in " ${CORPORA[@]} "
do
echo " Running $c ... "
python src/main/python/run_regression.py --index --verify --search --regression beir-v1.0.0- ${c} . ${MODEL} .onnx > logs/log.beir-v1.0.0- ${c} - ${MODEL} .onnx 2>&1
done
คุณสามารถตรวจสอบผลลัพธ์ได้โดยตรวจสอบไฟล์บันทึกใน logs/
สำหรับรุ่นอื่นๆ ให้แก้ไขคำสั่งข้างต้นดังนี้:
สำคัญ | คอร์ปัส | เช็คซัม | MODEL |
---|---|---|---|
F1 | corpus | faefd5281b662c72ce03d22021e4ff6b | flat |
F2 | corpus-wp | 3cf8f3dcdcadd49362965dd4466e6ff2 | flat-wp |
เอ็มเอฟ | corpus | faefd5281b662c72ce03d22021e4ff6b | multifield |
ยู1 | unicoil-noexp | 4fd04d2af816a6637fc12922cccc8a83 | unicoil-noexp |
S1 | splade-pp-ed | 9c7de5b444a788c9e74c340bf833173b | splade-pp-ed |
บีจีอี | bge-base-en-v1.5 | e4e8324ba3da3b46e715297407a24f00 | bge-base-en-v1.5-hnsw |
ควรแทนที่ "Corpus" ข้างต้นเป็นชื่อไฟล์เต็ม beir-v1.0.0-${corpus}.tar
เช่น beir-v1.0.0-bge-base-en-v1.5.tar
คำสั่งข้างต้นควรใช้ได้กับการแก้ไขเล็กน้อย คุณจะต้องปรับแต่งพารามิเตอร์ --regression
เพื่อให้ตรงกับสคีมาของไฟล์กำหนดค่า YAML ใน src/main/resources/regression/
การทดลองที่อธิบายไว้ด้านล่างนี้ไม่เกี่ยวข้องกับการทดสอบการถดถอยแบบ end-to-end ที่เข้มงวด ดังนั้นจึงให้มาตรฐานความสามารถในการทำซ้ำที่ต่ำกว่า โดยส่วนใหญ่ จำเป็นต้องคัดลอกและวางคำสั่งลงในเชลล์ด้วยตนเองเพื่อสร้างผลลัพธ์ของเราขึ้นมาใหม่
หากคุณพบว่า Anserini มีประโยชน์ เรามีคำของ่ายๆ เพื่อให้คุณมีส่วนร่วมกลับ ในระหว่างการสร้างผลลัพธ์พื้นฐานบนคอลเลกชันการทดสอบมาตรฐาน โปรดแจ้งให้เราทราบหากคุณประสบความสำเร็จโดยส่งคำขอดึงพร้อมข้อความง่ายๆ เช่นที่ปรากฏที่ด้านล่างของหน้าสำหรับดิสก์ 4 และ 5 ความสามารถในการทำซ้ำเป็นสิ่งสำคัญ สำหรับเรา และเราต้องการทราบเกี่ยวกับความสำเร็จและความล้มเหลว เนื่องจากเอกสารประกอบการถดถอยถูกสร้างขึ้นโดยอัตโนมัติ จึงควรส่งคำขอดึงกับเทมเพลตดิบ จากนั้นจึงสามารถสร้างเอกสารการถดถอยได้โดยใช้สคริปต์ bin/build.sh
ในทางกลับกัน คุณจะได้รับการยอมรับว่าเป็นผู้มีส่วนร่วม
นอกจากนั้น ยังมีปัญหาที่เปิดกว้างอยู่เสมอซึ่งเรายินดีเป็นอย่างยิ่งที่จะช่วยเหลือ!
272565
(8/2/2022): การอัปเกรดนี้สร้างปัญหาความเข้ากันได้แบบย้อนหลัง ดู #1952 Anserini จะตรวจจับดัชนี Lucene 8 โดยอัตโนมัติและปิดใช้งาน Tie-breaking ที่สอดคล้องกันเพื่อหลีกเลี่ยงข้อผิดพลาดรันไทม์ อย่างไรก็ตาม โค้ด Lucene 9 ที่ทำงานบนดัชนี Lucene 8 อาจให้ผลลัพธ์ที่แตกต่างจากโค้ด Lucene 8 ที่ทำงานบนดัชนี Lucene 8 เล็กน้อย รหัส Lucene 8 จะ ไม่ ทำงานบนดัชนี Lucene 9 Pyserini ได้รับการอัปเกรดและมีปัญหาที่คล้ายกัน: โค้ด Lucene 9 ที่ทำงานบนดัชนี Lucene 8 อาจให้ผลลัพธ์ที่แตกต่างจากโค้ด Lucene 8 ที่ทำงานบนดัชนี Lucene 8 เล็กน้อย17b702d
(7/11/2019) จาก Java 8 ต้องใช้ Maven 3.3+ ด้วย75e36f9
(6/12/2019); ก่อนหน้านั้นชุดเครื่องมือใช้ Lucene 7.6 จากการทดลองเบื้องต้น เวลาแฝงในการประเมินแบบสอบถามได้รับการปรับปรุงอย่างมากใน Lucene 8 ผลจากการอัพเกรดนี้ ผลลัพธ์ของการถดถอยทั้งหมดมีการเปลี่ยนแปลงเล็กน้อย หากต้องการทำซ้ำผลลัพธ์เก่าจาก Lucene 7.6 ให้ใช้ v0.5.1 งานวิจัยนี้ได้รับการสนับสนุนบางส่วนโดยสภาวิจัยวิทยาศาสตร์ธรรมชาติและวิศวกรรม (NSERC) ของแคนาดา การสนับสนุนก่อนหน้านี้มาจากมูลนิธิวิทยาศาสตร์แห่งชาติของสหรัฐอเมริกาภายใต้ IIS-1423002 และ CNS-1405688 ความคิดเห็น ข้อค้นพบ และข้อสรุปหรือข้อเสนอแนะใดๆ ที่แสดงออกมาไม่จำเป็นต้องสะท้อนถึงมุมมองของผู้สนับสนุน